【python办公自动化(4)】创建临时文件和文件夹

利用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里面的变量就会报错

发布了20 篇原创文章 · 获赞 4 · 访问量 1983

猜你喜欢

转载自blog.csdn.net/lys_828/article/details/104034851