Python3 文件读写
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(可追加可写,若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留)