在Python编程时,我们常常需要查看本地文件或者保存数据,这就需要使用Python提供的函数和方法实现文件的打开、关闭以及文件的读写操作。
在python中,使用open函数,打开一个已经存在的文件,或者新建一个文件。
语法如下:
「f = open('文件的路径',mode='打开文件的模式',encoding='操作文件的字符编码')」
常见的文件打开模式
对于文件的操作结束之后,使用close()来关闭文件。
f = open('a.txt',mode= 'r',encoding= 'utf-8')
#read() 读取整个文件,通常将文件内容放到一个字符串变量中;
xx = f.read()
print(xx)
f.close()
当然,还有一种更简便的方式,不需要每次都去关闭文件。
with open('a.txt','r')as files:
content=files.read()
print(content)
使用关键字with后,不需要访问文件后将其关闭。Python会在合适的时候自动将其关闭,这样可以避免因close()语句未执行,文件不会关闭的bug。
Python打开文件,读取内容的三种方式:
read(num):表示要从文件中读取的数据的长度(单位是字节),不写num,表示读取文件中所有的数据。
readline():每次读取一行内容;
readlines():可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。
1.write(str):将字符串str写入一个打开的文件。
如果你要写入的文件不存在,函数open()将自动创建它。我们使用文件对象的方法write()将一个字符串写入文件。
将字符串”I Love Python”写入文件a.txt中。
with open('a.txt', 'w') as files:
files.write("I Love Python.")
with open('a.txt','r') as files:
content=files.read()
print(content)
输出:
I Love Python.
函数write()不会在你写入的文本末尾添加换行符,需要手动添加\n
2.file.writelines(sequence)的参数是序列,比如列表,它会迭代帮你写入文件。
文件a.txt,内容abcd,文件b.txt,内容ABCD
将文件a追加到文件b中。
with open('E:/a.txt','r') as file1:
with open('E:/b.txt','a+') as file2:
file2.writelines(file1.readlines())
with open('E:/b.txt','r') as files:
content=files.read()
print(content)
输出:
ABCDabcd