Cod*_*mer 5 python temporary-files
是否可以在python中创建将在一段时间后删除的临时文件?我检查了临时文件生成临时文件和目录库。
tempfile.TemporaryFile:此函数创建临时文件,该文件将在关闭后立即销毁。
tempfile.NamedTemporaryFile:此函数接受参数delete。如果在调用函数时给 delete 赋值为false,则文件在关闭时不会被删除。
我需要的是一个临时文件,即使在我关闭它之后,我也应该能够在一段时间内使用它的名称读取它。但是,它应该会在一段时间后自动删除。
在 Python 2.7 中执行此操作的最简单方法是什么?
如果您只需要在 Python 程序中定期运行该文件,则可以将其用作上下文管理器:
def main(file_object):
# Can read and write to file_object at any time within this function
if __name__ == '__main__':
with tempfile.NamedTemporaryFile() as file_object:
main(file_object)
# Can still use file_object
# file_object is referencing a closed and deleted file here
Run Code Online (Sandbox Code Playgroud)
如果您需要能够在Python程序之外打开它,比如在main结束之后,就像在异步运行的进程中一样,您可能应该寻找更持久的解决方案(例如允许用户指定文件名。)
如果您确实需要一个临时自动删除文件,您可以threading.Timer在一段时间后启动 a 将其删除,但请确保您的程序即使在计时器结束之前停止也将其删除。
| 归档时间: |
|
| 查看次数: |
4314 次 |
| 最近记录: |