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