Python Создать вложенный каталог во временном каталоге

Я работаю над проектом с использованием 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,

Заранее спасибо!

2 ответа

Это можно решить, выполнив следующие действия:

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.

У тебя есть saved_unmask = os.umask(0o077)Ваш скрипт работает под вашим пользователем? Возможно, у него нет разрешения на запись во временный каталог

Следующее может работать:

import os
os.makedirs(os.path.join(tempdir, 'helmChart'))
Другие вопросы по тегам