python 临时文件

1. TemporaryFile 临时文件

  • TemporaryFile 不在硬盘上的生成真正文件,而是写在内存中
from tempfile import TemporaryFile  # , NamedTemporaryFile

# 1. 读取
f = TemporaryFile(mode="w+")
#   参数:
#       1). mode="w+"   允许 打开的模式, 默认 为 w+b 模式
#           w     写模式
#           w+    读写模式
#           w+b   读写 Bytes 模式
#       2). buffering=-1     缓冲区大小, -1 是不限制
#       3). encoding=None    读取的文件的字符编码

f.write("abcdefg\nhijkmlm\nopqist\nuvwxyz")  # 写入
f.seek(0)     # 将 光标 切换到开始

# line = f.readlines()  # 按照 每一行进行读取
line = f.read()  # 读取全部
print(line)

2. NamedTemporaryFile 临时文件

  • TemporaryFile不同的是,NamedTemporaryFile 会生成真的文件
  • 有一个参数delete=True 时,变量被清除时,生成的文件就会被删除,delete=False 时,文件不会被删除
from tempfile import NamedTemporaryFile

# 1. 读取
f = NamedTemporaryFile(mode="w+", dir=r"D:\data\01_RPA_Project")
#   参数:
#       1). mode="w+"   允许 打开的模式, 默认 为 w+b 模式
#           w     写模式
#           w+    读写模式
#           w+b   读写 Bytes 模式
#       2). buffering=-1      缓冲区大小, -1 是不限制
#       3). encoding=None     读取的文件的字符编码
#       4). dir=None          临时文件存放的文件的位置
#       5). delete=True       变量删除后 将文件删除, delete=False 时,变量删除时不会删除

print(f.name)  # 打印文件名

f.write("abcdefg\nhijkmlm\nopqist\nuvwxyz")  # 写入
f.seek(0)     # 将 光标 切换到开始

# line = f.readlines()  # 按照 每一行进行读取
line = f.read()  # 读取全部
print(line)