利用python读取文件内容
一般方式:open(),readlines(),close()
import os
os.chdir('D:/python_major/auto_office3/')
f = open('file1.txt','r',encoding='gbk')
txt = f.readlines()
print(txt)
f.close()
open()打开某个文件,'r’代表读取文件,encoding=‘gbk’/'utf-8’表示 gbk/utf-8 编码读取,readlines()会将每一行都读取出来,注意养成关闭文件的编码习惯(f.close()语句)
推荐使用方式: with上下文管理器
with open('file1.txt','r',encoding='gbk') as f:
txt = f.readlines()
print(txt)
with…as…简单理解就是不管程序是否正常运行都会关闭文件,不需要再单独写close()
利用python写入文件内容
with open('file2.txt','w',encoding='gbk') as f:
txt = '第一行内容\n第二行内容\n'
f.write(txt)
f.write('第三行内容')
'w’表示写入文件,若无该文件则直接创建一个;若有该文件,里面的内容会被清理掉
'a’表示写入文件,若无该文件会直接创建一个;若有该文件,会接在里面的内容之后写入
创建临时文件存储数据
TemporaryFile 模块
from tempfile import TemporaryFile
f = TemporaryFile('w+')
f.write('hello world!')
f.seek(0)
data = f.readlines()
print(data)
f.close()
'w+'表示写入及读取文件;.seek(0)表示回到文件开头的位置;程序运行完后会自动删掉临时文件
推荐方式
from tempfile import TemporaryFile
with TemporaryFile('w+') as f:
f.write('hello world!')
f.seek(0)
data = f.readlines()
print(data)
创建临时文件夹存储数据
from tempfile import TemporaryDirectory
with TemporaryDirectory() as tmp_folder:
print('临时文件夹已创建:{}'.format(tmp_folder))
程序结束后会自动删除该文件夹,特别是处理爬虫,获取数据过程。
注意事项
在使用with上下文管理器时候,代码要在with里面(:后缩进的内容)进行输入,因为with执行完代码后就结束临时文件/文件夹程序了,这时候在外部如果还使用with里面的变量就会报错