我在使用临时文件库时遇到问题。作为更大代码的一部分,我需要打开一个临时文件夹(最后需要关闭)。我将在其中转储一些文件。但是我需要整理里面的东西,所以我需要在这个临时文件夹中打开一个目录。我尝试使用 mkdir 和 makedirs,在删除临时文件夹之前,我压缩所有内容以检查我创建的目录是否真的存在。显然不是,最后我得到一个空的 zip 文件。这里有什么问题,为什么没有创建目录 dir1 和 dir2?
import os
import tempfile
import zipfile
with tempfile.TemporaryDirectory() as directory:
try:
os.mkdir(os.path.join(directory, "dir1"))
os.makedirs(os.path.join(directory, "dir2"))
finally:
# zip to check the content created
def zipdir(path, ziph):
# ziph is zipfile handle
for root, dirs, files in os.walk(path):
for file in files:
ziph.write(os.path.join(root, file))
zipf = zipfile.ZipFile("final.zip", 'w', zipfile.ZIP_DEFLATED)
zipdir(directory, zipf)
zipf.close()