Как создать файл внутри папки с помощью Python?

Я пытаюсь создать папку, если она не закрывается, тогда внутри этой папки я создам файл, в котором файл имеет тип JSON, а имя файла - отметка времени + searchResult.js

где результат становится: search_result / 2018-4-7_searchResult.js

система отображает эту ошибку:

ожидаемый объект str, bytes или os.PathLike, а не NoneType

код:

jsondata = json.dumps(listMetaData)

                    if not(os.path.exists('./search_result')):
                        try:
                            searchResultFoder=os.mkdir("./search_result")

                            today = datetime.date.today()
                            fileName = "{}_searchResult.js".format(today)
                            fpJ = os.path.join(searchResultFoder,fileName)
                            with open("{0}/{1}".format(fpJ,fileName),"w") as jsf:
                                jsf.write(jsondata)
                                print("finish writing")
                        except Exception as e:
                            print(e)

Отличное чтение: Как отлаживать небольшие программы (# 1)

Patrick Artner 07.04.2018 11:50
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
1
1
463
1

Ответы 1

os.mkdir возвращает None, поэтому ваша переменная инициализируется None

searchResultFoder=os.mkdir("./search_result")

и когда ты делаешь

fpJ = os.path.join(searchResultFoder,fileName)

Это выдает ошибку. Просто сохраните путь в переменной и используйте его

foldername = "./search_result"
fpJ = os.path.join(foldername,fileName)

Я попробовал ваш ответ, но он отображает эту ошибку: [Errno 2] Нет такого файла или каталога: './search_result\\2018-04-07_searchResult.js/2018-04-07_sear‌ chResult.js'

Py Dev 07.04.2018 11:22

fpj должен быть: ./search_result/2018-04-07_searchResult.js. Проверьте, правильно ли инициализируются ваши переменные

Mehul Jain 07.04.2018 11:26

Я попытался распечатать searchchedResultFolder и распечатать fpJ, результат ./search_result ./search_result\2018-04-07_searchResult.js

Py Dev 07.04.2018 11:32

но ни папка, ни файл не были созданы

Py Dev 07.04.2018 11:33

зачем ты это делаешь with open("{0}/{1}".format(fpJ,fileName),"w")? Думаю, подойдет просто with open(fpJ,"w"). Это создаст файл 2018-04-07_searchResult.js в папке ./search_result.

Mehul Jain 07.04.2018 11:45

Просто добавьте к этому .js расширение файла для JavaScript, JSON использует .json

MushroomMauLa 07.04.2018 11:46

Однако это не имеет отношения к проблеме.

Mehul Jain 07.04.2018 11:48

не работает, почему print (os.mkdir ("./ search_result")) отображает None?

Py Dev 07.04.2018 11:59

Другие вопросы по теме