文件读写中,最常用到的是txt文本文件读写功能,有C语言基础后,上手Python的文件读写就容易许多了。
前奏
文件操作第一步,首先要打开文件,得到文件句柄f,对句柄f进行读写、关闭等操作。
文件打开
with open('file_path', 'mode') as f:
...
file_path
:全路径或仅文件名(读取当前目录下的文件)mode
: r/w/a等,更多详见读写模式
文件读
按相应模式打开文件后,得到文件句柄f
,可采用三种方式进行读取。
读取方式
f.readline()
,一次读单行f.readlines()
,一次读所有行到list
中f.read()
,一次读完到一个string
中
小trick
line = line.strip('\n')
,去掉列表中所有换行符line = line.strip('.wav')
,以固定字符串对string
进行切分,得到一个list
文件写
按相应模式打开文件后,得到文件句柄f
,可采用三种方式进行写入。
写入方式
f.write(str)
,将string类型的长字符串写入到文件中
读写模式
总结如下表:
字符 | 模式 | 描述 |
---|---|---|
r | 读 | 文件不存在,报错 |
w | 覆盖写 | 文件不存在,创建;存在,覆盖重新写 |
a | 追加写 | 文件不存在,创建;存在,末尾追加写 |
rb, wb | 读写二进制文件 | 与r,w 类似,读写二进制文件 |
r+ | 读写 | 读文件不存在,报错;写文件,覆盖写; |
w+ | 可读覆盖写 | 文件不存在,创建;存在,覆盖重新写 |
a+ | 可读追加写 | 文件不存在,创建;存在,末尾追加写 |
应用在open()
函数的mode
参数项,其中最常用模式为:r, w, a, a+
,分别对应:读,覆盖写,追加写,可读可追加。
完整demo
Python例程代码如下:
f = open('demo.txt','a+') # 打开文件
line = f.readline() # 读取文件
print(line)
str = 'hello world'
f.write(str) # 写入文件
f.close() # 关闭文件
注意事项
在文件使用完毕后,务必关闭文件句柄,即f.close()
。否则反复打开文件时,会导致系统崩溃。
当然,用with open() as f:
读写除外,在with
方法结束后,它会自动关闭文件。