我想创建临时文件并调用程序以使用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')
问题: