sor*_*rin 4 python temporary-files
创建此类文件后,如何更改 NamedTemporaryFile 的删除标志?
为什么?虽然大多数时候我不需要保留临时文件,但如果我从代码内部检测到错误,我希望保留它们以便能够分析它们。
对于现在使用谷歌搜索这个问题的任何人,至少对于 Python 3+,delete实例化后NamedTemporaryFile更改不会改变其初始行为,因为实际标志存储在一个名为_closer(这是一个_TemporaryFileCloser实例)的对象中。tempfile.py在 Python 中查看,因为官方 Python 文档没有提及任何内容。
所以你要么改变这个未记录的属性:
f = tempfile.NamedTemporaryFile(delete=True)
# f.delete = False # This doesn't change anything
f._closer.delete = False # undocumented
f.close() # the file won't be deleted
Run Code Online (Sandbox Code Playgroud)
或者您总是使用 来创建NamedTemporaryFile(delete=False),然后如果您不再需要该文件,则手动删除该文件。
| 归档时间: |
|
| 查看次数: |
478 次 |
| 最近记录: |