python模块推荐[15]tempfile创建随机临时文件夹和随机文件
场景
tempfile模块是python的内置模块无需安装。可以帮你创建随机、不重名的文件和文件夹。
注意事项
- 默认参数下,不要去找临时文件或临时文件夹,因为程序退出时该临时文件和临时文件夹都会被删除。
默认创建的文件和文件夹是看不到的,仅仅存在脚本运行期间,而且运行期间也是不可见得,因为他没有使用文件系统表。 - 如何你的应用程序需要一个临时文件来存储数据,但不需要同其他程序共享,那么用TemporaryFile函数创建临时文件是最好的选择。其他的应用程序是无法找到或打开这个文件的,因为它并没有引用文件系统表。用这个函数创建的临时文件,关闭后会自动删除。
创建自动删除的临时文件
1 | import tempfile |
你在/tmp目录是找不到该文件的。
delete=False 创建不删除的临时文件,可以找到的临时文件
1 | import tempfile |
你在/tmp目录下是可以找到该文件的
创建不被删除的临时目录
1 | import tempfile |
其他一些方法 ‘gettempdir’, ‘gettempprefix’, ‘mkdtemp’, ‘mkstemp’, ‘mktemp’, ‘tempdir’, ‘template’
1 | import tempfile |
输出:1
['NamedTemporaryFile', 'TemporaryFile', 'SpooledTemporaryFile', 'mkstemp', 'mkdtemp', 'mktemp', 'TMP_MAX', 'gettempprefix', 'tempdir', 'gettempdir']
查看文件的默认位置,
获取系统的临时目录的位置1
2
3import tempfile
dirname = tempfile.gettempdir()
print(dirname)