创建临时文件
先学会通过python打开文件
f= open('demo.txt','r',encoding='gbk')
text= f.readlines()
print(text)
f.close()
open()打开某个文件
‘r’表示读取文件,read的缩写,读
‘w’表示新建写入文件,write的缩写,如果之前文件已经存在,使用w会把原来的文件内容清空,不存在则生成一个新文件。
'a'也表示新建写入文件,add的缩写,如果之前文件已经存在,使用w会在原来的文件后添加新内容,不存在则生成一个新文件。
encoding=‘gbk’表示以GBK编码读取,和网页一样,每个网页的源代码中也有utf-8或者gbk的区分,要一一对应,否则会出现特殊字符无法识别导致的乱码。
readlines()会将每一行都读取进来
close()关闭该文件,每次操作完文件后都要关闭。
以上是比较标准的打开文件的写法,这里一种建议的写法
with... as....
后续引用别的模块方法的时候,也会使用到这种写法,会级大简化代码
有时候你导入的模块或是模块属性名称已经在你的程序中使用了, 或者你不想使用导入的名字。可能是它太长不便输入什么的, 总之你不喜欢它。 这已经成为 Python 程序员的一个普遍需求: 使用自己想要的名字替换模块的原始名称。一个普遍的解决方案是把模块赋值给一个变量:
这样便于自己使用,但是as的缩写名字,只能在这个with as 下面使用(一个tab空格里面)
with open('demo.txt','r',encoding='gbk') as f:
text=f.readlines()
print(text)
发现这里少了close,不管程序是否正常运行,他都会默认关闭掉文件
当打开了文件,就可以对文件进行写入修改,
with open('demo.txt','w',encoding='GBK') as f:
text= '第一行内容2\n第二行内容2\n'
f.write(text)
创建临时文件储存数据
from tempfile import TemporaryFile
f = TemporaryFile('w+')
f.write('Hello world')
f.seek(0)
data = f.readlines()
print(data)
f.close()
这里seek(0)等于把光标回归到了首位,
如果我们写成seek(1)
那么,输出的结果就会变成’ello world’
如果我们不写seek(0),那么readlines()就会从光标开始往后面读取。
那么结果就是空白了
创建临时文件夹:
from tempfile import TemporaryDirectory
with TemporaryDirectory() as tmp_folder:
print(f'临时文件夹已经创建:{tmp_folder}')
输出结果:临时文件夹已经创建:C:\Users\ADMINI~1\AppData\Local\Temp\tmpdme3xbvb
程序结束后会自动删掉该文件夹