用Python中的文件生成临时目录以进行单元测试



我想创建一个带有目录和一些文件的临时文件夹:

import os
import tempfile
from pathlib import Path
with tempfile.TemporaryDirectory() as tmp_dir:
# generate some random files in it
Path('file.txt').touch()
Path('file2.txt').touch()
files_in_dir = os.listdir(tmp_dir)
print(files_in_dir)

Expected: [file.txt,file2.txt]
Result: []

有人知道如何在Python中做到这一点吗?或者有更好的方式来嘲笑别人吗?

您必须通过获取tmp_dir的路径在目录中创建文件。with上下文不适合您。

with tempfile.TemporaryDirectory() as tmp_dir:
Path(tmp_dir, 'file.txt').touch()
Path(tmp_dir, 'file2.txt').touch()
files_in_dir = os.listdir(tmp_dir)
print(files_in_dir)
# ['file2.txt', 'file.txt']

最新更新