Есть ли способ создать папку с тем же именем, что и переменная, а затем поместить в нее файл JSON в python? - PullRequest
0 голосов
/ 07 мая 2020

Привет, я пытаюсь создать папку с тем же именем переменной, а затем записать файл JSON внутри этой папки. В настоящее время код mi выглядит примерно так:

a = "name"
filename = "Configs/" + a + "/" + a
with open (filename, 'w') as f_obj:
json.dump(data, f_obj)

После этого я получаю следующую ошибку:

FileNotFoundError : [Errno 2] no such file or directory : 'Configs/name/name'

Когда я пытаюсь:

 filename = "Configs/" + a

Работает отлично , Буду признателен за любую помощь, заранее спасибо.

1 Ответ

0 голосов
/ 07 мая 2020

open может создавать новые файлы для записи, но не создает новые каталоги для их размещения. Вы получаете ошибку, потому что каталог Configs/name не существует - вам необходимо создать это сначала, затем создайте файл внутри него. Вот один из способов сделать это:

import json
from pathlib import Path

data = {} # whatever your data is
a = "name"
file_path = Path("Configs") / a / a
file_path.parent.mkdir(parents=True, exist_ok=True) # if these flags are right for you
file_path.write_text(json.dumps(data))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...