一 python读写文件使用open函数
f = open(filename,mode='r')
详细的mode:
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 |
w | 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
w+ | 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
打开文件后,需要关闭文件
f.close()
二 文件对象的一些内置函数:
- 文件的读函数有三个:
- read(size):读取所有文件内容,若给定size,则读取size字节的内容
# test.txt hello world! welcome
In [55]: f=open('test.txt','r')
In [56]: f.read() Out[56]: 'hello world! welcome ' - readline(size):读取文件的一行,包括行结束符,若给定size,则读取size字节的内容
In [59]: f=open('test.txt','r')
In [60]: f.readline() Out[60]: 'hello world! '
- readlines():readlines() 方法并不像其它两个输入方法一样返回一个字符串. 它会读取所有行然后把它们作为一个字符串列表返回.
In [61]: f=open('test.txt','r')
In [62]: f.readlines() Out[62]: ['hello world! ', 'welcome ']
- read(size):读取所有文件内容,若给定size,则读取size字节的内容
- 2. 文件的写函数:(写文件时,打开文件时要以可写方式打开)
- write():将数据写入文件
- writelines():针对列表的操作,接受一个字符串列表作为参数,将他们写入文件,行结束符不会自动加入
In [68]: abc = ['next ','lastline '] In [69]: f=open('test.txt','a') In [70]: f.writelines(abc) In [71]: f.close()
#test.txt hello world! welcome next lastline
3.文件的其他方法:
-
file.seek(off, whence=0) 在文件中移动文件指针, 从 whence ( 0 代表文件开头, 1 代表当前位置, 2 代表文件末尾)偏移 off 字节
-
file.tell() 返回当前在文件中的位置
-
file.truncate(size=file.tell()) 截取文件到最大 size 字节, 默认为当前文件位置
-
4.文件对象的属性:
-
file.closed True 表示文件已经被关闭, 否则为 False
-
file.encodinga 文件所使用的编码 - 当 Unicode 字符串被写入数据时, 它们将自动使用 file.encoding 转换为字节字符串; 若 file.encoding 为 None 时使用系统默认编码
-
file.mode 文件打开时使用的访问模式
-
file.name 文件名
-