官网 tempfile 临时文件功能
import tempfile
fp = tempfile.TemporaryFile(mode='w+b', encoding=None)
fp.write(b'Hello world!')
NamedTemporaryFile
带名字的tempfile, 所以可以提供给其他程序使用
with tempfile.NamedTemporaryFile() as f:
subprocess.run(cmds, stdout=f)
SpooledTemporaryFile
因为linux系统的文件io自带page cache. 所以这个class没用
tempfile.TemporaryDirectory -> str
可以把文件夹自动清除
with temfile.TemporaryDirectory() as d:
tmp_csv = Path(d.name).joinpath("tmp.csv")
mkdtemp(dir=None)
创建一个临时目录. 和TemporaryDirectory比,不会自动清除。需要手动清理
mkstemp -> (文件描述符:int, 文件路径:str)
创建一个临时文件, 权限等级最高.