在Python中,文件的读写操作是实用的编程任务之一。本文将详细介绍利用python读取、写入文件的基础方法。
读取文件
在Pyhton3中,读取文件前需先打开文件。可以利用Python的open()函数打开文件。
file1=open('/User/ikun/gege.txt','r') #填入文件的路径
file2=open('gege.txt','r') #需要让txt文件与程序在同一个目录中
程序中的标识符‘r’,表示只读
如果文件在路径中不存在,则会出现IOError异常。可以用try-except语句处理报错。
用read()函数可以把文件中的内容先存储在内存,而后输出为字符串。read()函数会一次性读取整个文件,而readlines()可以逐行读取文件。
my_file=open('QRX.txt','r')
print(file.read())
print(file.readlines())
在读取文件后需要关闭文件,以减小内存占用。
my_file.close()
python中的with语句可以简化这个操作。with语句打开的文件会在程序末尾自动关闭。
Qin_ru_xin_path='/User/qin/calculus.txt'
with open(Qin_ru_xin_path,'r') as qinru:
q=qinru.read()
print(q)
#文件已被自动关闭
二进制文件
在读取图片,视频文件等二进制文件时时,需要标识符‘rb’。
pic=open('art.jpg','rb')
print(pic.read)
#返回结果将会是十六进制字节
写入文件
与读取文件相似,写入文件可以使用‘w’和‘wb’标识符。
f=open('/Users/hello/hi.txt', 'w')
f.write('Hello, world!')
f.close()
‘w’模式会让输入内容覆盖文件原有内容。如果想将内容追加在文件末尾,看使用‘a’(append)模式
Qin_ru_xin_path='/User/qin/calculus.txt'
with open(Qin_ru_xin_path,'a') as qinru:
qinru.write('微积分')
#文件已被自动关闭