如何使用python创建具有相同基本名称和编号结尾的多个临时文件?

时间:2018-01-15 15:14:10

标签: python temporary-files

我想创建临时文件并调用程序以使用python批量打开它们。但是,此程序要求文件具有特定命名作为批处理接受:

  

some_name_ {数} .ending

现在我想使用entities.removeAll(toRemove); link),但它只能创建一个临时文件。我有一个手动配方(见下文),但它不安全(检查文件是否存在和实际创建之间可能发生很多)。

tempfile.NamedTemporary

示例用法是

from os import path
from glob import glob
import string
import random

def generate_files(dir, num_files, name_length=12, ending='.blob'):
    chars=string.ascii_uppercase + string.digits        
    for i in range(1000):
        file_name = ''.join(random.choice(chars) for _ in range(name_length))
        if not glob(path.join(dir, file_name)+"*"):
            return (file_name+'_{}'.format(number)+ending for number in range(num_files))
     raise RuntimeError('I give up, all filenames I tried already exist')

问题:

  • 是否有库函数可以执行此操作? (这将是首选答案)
  • 如果不是第一个问题:如何在避免文件冲突方面改进上述代码?

0 个答案:

没有答案