【问题标题】:Creating a temp directory for storing files used in calculation创建一个临时目录来存储计算中使用的文件
【发布时间】:2015-06-26 23:45:15
【问题描述】:

python 脚本从数据库中下载 2 个表,进行一些计算并创建一个新表,然后将其上传。涉及中间文件,为了存储所有文件,我在当前工作目录中创建了一个名为“temp”的文件夹。在程序退出之前,它会删除 temp。这不是很好,因为

  1. 如果已经有一个名为 temp 的文件夹,它将被删除
  2. 如果程序在删除 temp 的最后一步之前崩溃,则程序下次运行时会崩溃,因为上次执行时存在同名文件。

我想这是一个相对常见的场景。一般是怎么处理的?

【问题讨论】:

  • 要解决 1,只需将您的文件夹命名为比 temp 更具体的名称。您可能还想添加检查以查看文件是否已存在并可能覆盖/删除它们。

标签: python language-agnostic filesystems temp


【解决方案1】:

有一个tempfile module 就是为了这个

import tempfile
new_dir = tempfile.mkdtemp() #makes a new temp folder guaranteed to be unique(in the os-specific temp location)
...
os.remove(new_dir)

真的,我认为您甚至不需要删除 new_dir,因为它通常会在下次重新启动时自动消失(*我认为)

【讨论】:

  • 使用 try/finally 或 atexit 处理程序来调用 os.remove()。您可以使用dir 参数,在当前目录下创建临时目录。
猜你喜欢
  • 2013-05-02
  • 2017-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-03
  • 1970-01-01
相关资源
最近更新 更多