Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数
1. 读取文件
with open('test_json_dumps.txt', mode='r', encoding='utf-8') as f:
# seek()移动光标至指定位置
f.seek(0)
# read()读取整个文件,将文件内容放到一个字符串变量中,文件大于可用内存时不适用
res = f.read()
print(res)
# readline()每次只读取一行,通常比readlines() 慢得多
res = f.readline()
print(res)
# readlines() 一次读取整个文件,将内容分析成一个行的列表,可以由for...in...处理
res = f.readlines()
print(res)
- seek()移动光标至指定位置
- read()读取整个文件,将文件内容放到一个字符串变量中,文件大于可用内存时不适用
- readline()每次只读取一行,通常比readlines()慢得多
- readlines() 一次读取整个文件,将内容分析成一个行的列表,可以由for...in...处理
- 注意:这三种方法是把每行末尾的'\n'也读进来了,它并不会默认的把'\n'去掉,需要我们手动去掉(.strip('\n')
2. 写入文件
with open('test_json_dumps.txt', mode='r', encoding='utf-8') as f:
# seek()移动光标至指定位置
f.seek(0)
# write()将字符串写入到文件中
f.write('Content')
# 针对列表的操作,接受一个字符串列表作为参数,将字符串列表写入到文件,换行符不会自动加入,需要显式加入换行符
f.writelines('Content')
- write()将字符串写入到文件中
- writelines()针对列表的操作,接受一个字符串列表作为参数,将字符串列表写入到文件,换行符不会自动加入,需要显式加入换行符
3. 文件打开模式
- 'r':打开只读文件,该文件必须存在
- 'w':打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件
- 'a':以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留
- 'r+' : r+w(可读可写,文件若不存在就报错(IOError))
- 'w+' : w+r(可读可写,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件)
- 'a+' : a+r(可追加可写,若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留)