python基本文件操作

python文件操作

python的文件操作相对于java复杂的IO流简单了好多,只要关心文件的读和写就行了

基本的文件操作

要注意的是,当不存在某路径的文件时,w,a模式会自动新建此文件夹,当读模式,文件不存在,会抛出异常

有三种模式,r为只读,w为只写,a为追加,r这种方式最终的系统资源调用,需要自己close文件对象,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的

file=open("prize.txt","r",encoding="GBK")
data=file.read()
print(data)
file.close()

{0:"保时捷911",1:"法拉利488",2:"劳斯莱斯古斯特",3:"GTR",4:"奥迪RS7",5:"宝马M4",6:"帕加尼风之子",7:"兰博基尼毒药"}

只写模式,当开启只写模式,第一次写入,会清空原有的所有内容,在这次之内继续写入,不会清空之前的内容

file=open("prize2.txt","w",encoding="GBK")
file.write("你好")
file.write("你好")
file.write("你好")
file.close()

你好你好你好

追加模式,会在之前的内容之上,追加写入字符(“以下是追加的内容:”为原来存在的内容)

file=open("prize2.txt","a",encoding="GBK")
file.write("hello")
file.write("你好")
file.write("我是追加")
file.close()

以下是追加的内容:hello你好我是追加

t,b模式

文件读写内容的格式有两种(默认的读写内容的模式为b模式):

  • t模式为text
  • b模式为bytes

需要注意的是:t、b这两种模式均不能单独使用,都需要与r/w/a之一连用。

当不指定编码encoding可以打印出字节,因为文件存储在硬盘上也是以二进制存储的

file=open("prize.txt","rb")
data=file.read()
print(data)
file.close()

b'{0:"\xb1\xa3\xca\xb1\xbd\xdd911",1:"\xb7\xa8\xc0\xad\xc0\xfb488",2:"\xc0\xcd\xcb\xb9\xc0\xb3\xcb\xb9\xb9\xc5\xcb\xb9\xcc\xd8",3:"GTR",4:"\xb0\xc2\xb5\xcfRS7",5:"\xb1\xa6\xc2\xedM4",6:"\xc5\xc1\xbc\xd3\xc4\xe1\xb7\xe7\xd6\xae\xd7\xd3",7:"\xc0\xbc\xb2\xa9\xbb\xf9\xc4\xe1\xb6\xbe\xd2\xa9"}'

with管理

用这种方式管理,不用自己close,但是要注意缩进

with open("prize.txt","r",encoding="GBK")as file:
    data=file.read()
    print(data)

{0:"保时捷911",1:"法拉利488",2:"劳斯莱斯古斯特",3:"GTR",4:"奥迪RS7",5:"宝马M4",6:"帕加尼风之子",7:"兰博基尼毒药"}

posted @ 2019-08-08 20:52  zx125  阅读(181)  评论(0编辑  收藏  举报