Python的文件是一个重要的对象,使用open()函数来打开文件,创建文件对象,进行文件的读写操作。当数据用于交换信息时,通常需要把数据保存为有格式的文本数据,可以保存为有特定的行分隔符和列分隔符的数据,这可以使用pandas模块中的函数来读写;也可以保存为json结构的数据,这可以使用json模块中的函数来实现;对于大型的数据交互,通常使用数据库。
Python基础库中open()函数用于打开文件,创建文件对象:
open(name, mode, encoding=None)
参数注释:
name是文件名,包括路径
encoding 是编码方式,常用的编码方式是utf-8
mode是打开文件的模式,最常用的模式是:
- r:只读模式,表示打开文件是为了从文件的开头读取文件中的数据;
- w:只写模式,表示打开文件是为了向文件写入数据。如果该文件已存在,那么打开该文件,删除原有的内容,从文件开头开始写入;如果该文件不存在,那么创建新的文件。
- a:以只追加可写模式打开文件,并将文件指针指向文件尾部;如果文件不存在则创建
open()函数创建一个file 对象,文件对象的主要方法:
- file.read([size]):size 未指定则返回整个文件,如果文件大小 >2 倍内存则有问题,f.read()读到文件尾时返回""(空字串)。
- file.readline():只读取一行。
- file.readlines([size]) :返回包含size行的列表, size 未指定则返回全部行。
- for line in f: print( line ):通过迭代器访问。
- f.write("hello\n"):如果要写入字符串以外的数据,先将他转换为字符串。
- f.close() 关闭文件
1,读取文件
调用open()函数打开一个文件,设置mode='r',表示打开文件是为了读取文件中的数据,调用文件对象的函数或迭代器来逐行读取数据:
file = open('test.txt','r',encoding='utf-8')
lines = [line.strip() for line in file]
file.close()
注意:打开文件之后,完成文件的读写之后,必须调用文件对象的close()方法,最终关闭文件。
2,写入文件
调用open()函数打开一个文件,如果设置mode='w',那么表示打开文件是为了向文件中写入数据,调用文档对象的write('content')函数向文档中写入内容。
file = open('test.txt','w',encoding='utf-8')
file.write('write content to file')
file.close()
注意:打开文件之后,完成文件的读写之后,必须调用文件对象的close()方法,最终关闭文件。
3,文件的关闭
调用open()函数打开一个文件,是把文件读取到内存中的,如果不及时关闭文件,文件对象就会一直占用系统资源,除了调用文件对象的close()方法关闭文件之外,还可以使用 with open(),由系统自动关闭文件:
with open('test.txt','r',encoding='utf-8') as file:
lines = [line.strip() for line in file]
参考文档: