Python 读写文件
1.open 打开文件
使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。
file_object = open('D:\test.txt') try: all_the_text = file_object.read( ) finally: file_object.close( ) print(all_the_text)
注:不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法。
2.读文件
读文本文件方式打开文件
file_object = open('test.txt', 'r')
#第二个参数默认为r
file_object = open('data')
读二进制文件方式打开文件
file_object= open('data', 'rb')
读取所有内容
file_object = open('D:\test.txt') try: all_the_text = file_object.read( ) finally: file_object.close( ) print(all_the_text)
读固定字节
file_object = open('D:\test.txt', 'rb') try: while True: chunk = file_object.read(100) if not chunk: break #do_something_with(chunk) finally: file_object.close( )
读每行 readlines
file_object = open('D:\test.txt', 'r')
list_of_all_the_lines = file_object.readlines( )
print(list_of_all_the_lines)
file_object.close( )
如果文件是文本文件,还可以直接遍历文件对象获取每行:
file_object = open('D:\thefile.txt', 'r')
for line in file_object:
print(line)
file_object.close( )
3.写文件
写文本文件方式打开文件
file_object= open('data', 'w')
写二进制文件方式打开文件
file_object= open('data', 'wb')
追加写文件方式打开文件
file_object= open('data', 'w+')
写数据
all_the_text="aaa\nbbb\nccc\n" file_object = open('D:\thefile.txt', 'w') file_object.write(all_the_text) file_object.close( )
写入多行
all_the_text="aaa\nbbb\nccc\n" file_object = open('D:\thefile.txt', 'w') file_object.writelines(all_the_text) file_object.close( )
追加
file = r'D:\test.txt' with open(file, 'a+') as f: f.write('aaaaaaaaaa\n')