TempDir
类源码
tempdir = TempDir(path: str | os.PathLike | None = None)
管理临时目录的句柄。
该实例析构时,会删除其管理的整个目录。
原型代码来自:
https://docs.python.org/zh-cn/3/library/weakref.html#comparing-finalizers-with-del-methods
参数
参数 | 类型 | 必选 | |
---|---|---|---|
path | str | os.PathLike | None | 指向临时目录的路径。若未提供,使用tempfile.mkdtemp() 在系统临时目录下生成一个目录。 |
方法
remove
tempdir.remove()
显式地删除该目录。若其已经被删除,则该方法不会产生任何效果。
注意,该方法只会在主进程中起作用。
属性
path
path: str = tempdir.path
该临时目录的路径。
is_removed
is_removed: bool = tempdir.is_removed
检查该临时目录是否已经被移除。
范例
在系统的临时目录里创建一个临时目录
- 代码
- 结果
import os
from dash_file_cache.utilities import TempDir
tmp_dir = TempDir()
file_path = os.path.join(tmp_dir.path, "test.txt")
with open(file_path, "w") as fobj:
fobj.write("test")
print(file_path)
假设该脚本返回的是
/tmp/tmp6xikuxe7/test.txt
由于该临时目录会被删除,程序运行结束后,使用以下命令
ls /tmp/tmp6xikuxe7/test.txt
会提示文件丢失。
在特定路径创建临时目录
- 代码
- 结果
import os
from dash_file_cache.utilities import TempDir
tmp_dir = TempDir("./temp")
file_path = os.path.join(tmp_dir.path, "test.txt")
with open(file_path, "w") as fobj:
fobj.write("test")
print(file_path)
假设该脚本返回的是
./temp/test.txt
由于该临时目录会被删除,程序运行结束后,使用以下命令
ls ./temp/test.txt
会提示文件丢失。