首页 > 代码库 > Python<10>文件基础

Python<10>文件基础

常见的文件操作

output = open(‘data‘,‘w‘)       #创建文件 w为写入

input = open(‘data‘,‘r‘)        #r为读写 若不写属性  默认为r

aString = input.read()          #读整个文件到一个字符串

aString = input.readlines()      #读整个文件到字符串列表

aString = input.read(N)         #读N个字节

aString =input.readline()        #读一行

output.write(aString)           #写入字符串带文件 在python3中,调用write会返回你写入的字符数。

output.writelines(aList)         #将列表内所有字符串写入文件

output.close()                 #关闭

output.flush()                 #输出缓冲区刷到硬盘中,不关闭文件

anyFile.seek(N)                 #修改文件位置到偏移量N处以便进行下一个操作

for line in open(‘data‘):use line       #一行一行读取

 

<1>打开文件

调用内置函数open 处理模式

‘r‘  为默认值表示输入打开

‘w‘  为输出生成并打开文件

‘a‘  为追加内容而打开文件

在尾部加上b可以进行二进制数据处理,加上‘+‘可以同时为输入和输出打开文件。

 

<2>使用文件

文件迭代器是最好的读取行工具。

读回的数据是字符串,经过转换可得到你想要的python对象,当写入文件时,必须传递一个已经格式化的字符串。

close手动关闭文件是个好习惯,虽然python也会自动回收。

文件是缓冲的而且是可查找的。

 

   由于文件的输入必须是严格的字符串,输入之前需要进行一些类型转换,输出得到的字符串变回你需要的类型也

需要一些转换,我们可以借助pickle在存储python的原生对象。

D = {‘a‘:1,‘b‘:2}F = open(‘datafile.pkl‘,‘wb‘)import picklepickle(D,F)F.close

 

将来要取出字典时

F = open(‘datafile.pkl‘,‘rb‘)E = pickle.load(F)E{‘a‘:1,‘b‘:2}


 

 

 

参考<<learning python>>