文件操作
1、python文件open()方法
。open()方法用于打开一个文件,并返回文件对象,在对文件进行处理过程中都需要使用到这个函数,如果该文件无法被打开,会抛出异常。
file object=open(file_name [,access_model][,buffering][,encoding])
有几种常见的模式:
。r表示以只读方式打开(默认模式)
。rb表示以二进制只读打开
。r+以读写方式打开
。rb+以二进制读写方式打开
。w以只写方式打开(如果已有文件,将会覆盖,如果没有将会创建)
。wb以二进制只写打开(如果已有文件,将会覆盖,如果没有将会创建)
。w+以读和写的方式打开一个一个文件(如果已有文件,将会覆盖,如果没有将会创建)
。wb+以二进制方式读和写的方式打开一个文件(如果已有文件,将会覆盖,如果没有将会创建)
。a表示append,追加模式,如果文件存在的话,指针将位于文件的末尾,如果没有文件的话会创建一个
。ab以二进制格式追加模式打开一个文件
。a+以追加和读的方式打开一个文件
。ab+以追加和读的方式打开二进制格式文件
buffer是读写的缓冲区间,有可以选三种值:0表示不适用buffer,1表示buffer文件中的一行,其余正整数表示buffer的字节数。
encoding是指明对文件编码,仅适用于文本文件。如果不明编码方式,默认是使用locale.getpreferredencoding()函数返回的编码方式。
file对象的属性
。file.closed
返回文件是否关闭
。file.mode
返回打开文件的模式
。file.name
返回文件的名字
fo=open("foo.txt","wb")
print("Name of the file:",fo.name)
print("Closed or not:",fo.closed)
print("Opening mode:",fo.mode)
输出结果:
close()方法
file对象的close()方法用于将没有写入文件的信息写入文件以后关闭文件,在打开文件以后要记得关闭文件。
read()和write()
file对象可以使用read()对文件的内容进行读取,在使用read()对文件进行读取的时候会一次性的读取文件的全部内容。还可以使用readlines(),每次读取文件的一行,readlines()则可以一次读取文件中的全部行,并且返回一个列表。
write()文件可以用于将内容写入文件,在写完文件之后一定要记得使用close()方法保证对于文件的更改已经写入了硬盘。
。with关键字
。关键字with语句可以保证诸如文件之类的对象在使用完之后一定会正确的执行它的清理方法。
。在对文件进行读写操作的时候,常用的一种方式是使用with,这样Python在对文件读写完后会自动调用close()方法:
with open("a.txt","w+") as f:
for i in range(15):
f.write(str(i)+'\n')
with open("a.txt","r") as f:
print(f.readlines())
输出结果:
2、创建file对象
。file对象常用的函数有:close()、readlines()、writelines()。
eg:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并,输出到一个新文件C中。