我正在使用Python(3.7)开发一个项目,需要在临时目录中创建一个子目录,我的临时目录创建为:
tempdir = tempfile.mkdtemp()
saved_unmask = os.umask(0o077)
temp_dir = os.path.join(tempdir)
然后,我尝试在此temp_dir
中创建目录,如下所示:
helm_chart = temp_dir + "/helmChart"
subprocess2.call(['helm', 'create', helm_chart])
helm creates path/sub_path
总是在path
内创建一个目录,在我的情况下,该目录为temp_dir
,上面的command
在我传递另一个目录路径时正在创建目录,但不是在temp_dir
中创建目录。
谢谢!
答案 0 :(得分:0)
以下可能有效:
tolist
答案 1 :(得分:0)
您有saved_unmask = os.umask(0o077)
,您的脚本是否在您的用户下运行?可能它无权写入临时目录
答案 2 :(得分:0)
这可以通过以下操作解决:
import os
import tempdir
top_level = tempdir.TemporaryDirectory()
nested = tempdir.TemporaryDirectory(dir=top_level.name)
print(nested.name)
这将输出/tmp/{top_level_temp_dir}/{nested_temp_dir}
键是dir
关键字参数。这告诉TemporaryDirectory使用传入的dir
作为新TemporaryDirectory的基础。