#python #json #python-2.7 #visual-studio-code
#python #json #python-2.7 #visual-studio-code
Вопрос:
Почему я не получаю файл json, записанный на диск в текущем рабочем каталоге (расположение скрипта) при выполнении следующего скрипта? Разве dump () не должен это делать?
def getShotFolders():
shotDict = {
"root" : shotExample,
"shot_subdirs" : []
}
for root, dirs, files in os.walk(shotExample, topdown=False):
if root != shotExample:
shotDict["shot_subdirs"].append(os.path.relpath(root,shotExample))
pprint(shotDict)
with open("shot_folderStructure.json", "w") as write_file:
json.dump(shotDict, write_file )
getShotFolders()
РЕДАКТИРОВАТЬ: Хорошо, я запускаю свои файлы python из vscode, щелкая правой кнопкой мыши «выполнить файл python в терминале», который выводит C:/Python27/python.exe c:/Users/user/Desktop/test.py
команду.
Если я запускаю скрипт из pycharm с тем же набором python, что и интерпретатор проекта, создаются файлы json, но почему?
EDIT2: ок, по какой-то причине, когда я выполняю скрипт, cwd является моей домашней папкой, не должна ли она указывать путь к скрипту python. Я знаю, что это можно исправить с помощью os.chdir(os.path.dirname(__file__))
но так не должно быть, верно?
Ответ №1:
Убедитесь, что вы открываете свою C:UsersuserDesktop
папку в VS Code, чтобы установить cwd на свой рабочий стол (если вы откроете файл напрямую, это не изменит ваш рабочий каталог).