1、文件处理
在Python中处理文件的关键功能是open()函数。
open()函数采用两个参数;filename和mode。
打开文件有四种不同的方法(模式):
"r"-读取-默认值。 打开文件进行读取,如果文件不存在则错误"a"-附加-打开文件进行追加,如果文件不存在则创建文件"w"-写入-打开文件进行写入,如果不存在则创建文件"x"-创建-创建指定的文件,如果文件存在则返回错误
另外,您可以指定文件应以二进制还是文本模式处理
"t"- 文本 - 默认值. Text mode。 "b"- 二进制 - Binary mode (例如,图片文件)
2、open()函数
要打开一个文件进行读取,只需指定文件的名称:f = open("demofile.txt")
与上面的代码相同的写法:f = open("demofile.txt", "rt")
因为用于读取的"r"和用于文本的"t"是默认值,所以您无需指定它们。
注意:确保文件存在,否则您将收到错误消息。
mode 参数有:模式描述
t文本模式 (默认)。
x写模式,新建一个文件,如果该文件已存在则会报错。
b二进制模式。
+打开一个文件进行更新(可读可写)。
U通用换行模式(不推荐)。
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb以二进制格式打开一个文件用于只读。
文件指针将会放在文件的开头。这是默认模式。
一般用于非文本文件如图片等。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
一般用于非文本文件如图片等。
w打开一个文件只用于写入。如果该文件已存在则打开文件,
并从开头开始编辑,即原有内容会被删除。如果该文件不存在,
创建新文件。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,
并从开头开始编辑,即原有内容会被删除。如果该文件不存在,
创建新文件。一般用于非文本文件如图片等。
w+打开一个文件用于读写。如果该文件已存在则打开文件,
并从开头开始编辑,即原有内容会被删除。如果该文件不存在,
创建新文件。
wb+以二进制格式打开一个文件用于读写。
如果该文件已存在则打开文件,
并从开头开始编辑,即原有内容会被删除。如果该文件不存在,
创建新文件。一般用于非文本文件如图片等。
a打开一个文件用于追加。如果该文件已存在,
文件指针将会放在文件的结尾。也就是说,
新的内容将会被写入到已有内容之后。
如果该文件不存在,创建新文件进行写入。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,
文件指针将会放在文件的结尾。也就是说,
新的内容将会被写入到已有内容之后。
如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,
文件指针将会放在文件的结尾。文件打开时会是追加模式。
如果该文件不存在,创建新文件用于读写。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,
文件指针将会放在文件的结尾。如果该文件不存在,
创建新文件用于读写。
默认为文本模式,如果要以二进制模式打开,加上b 。
3、Python2与python3 打开文件的区别
在python3中操作文件只有一种选择就是open(),而在python2中则有两种方式:file()与open()
两者都能够打开文件,对文件进行操作,也具有相似的用法和参数,但是,这两种文件打开方式有本质的区别,file为文件类,用file()来打开文件,相当于这是在构造文件类,而用open()打开文件,是用python的内建函数来操作,我们一般使用open()打开文件进行操作,而用file当做一个类型,比如type(f) is file