Найти - Пользователи
Полная версия: программа не находит файл
Начало » Python для новичков » программа не находит файл
1
GaDaub
import json

filename = ‘lovely_number.json’
try:
with open(filename) as f_obj:
lovely_number = json.load(f_obj)
except FileNotFoundError:
username = input(“What is your lovely number? ”)
with open(filename, ‘w’) as f_obj:
json.dump(lovely_number, f_obj)
print(“We'll remember you lovely_number when you come back!”)

Помогите, пожалуйста, разобраться с проблемой. lovely_number.py находится в той же дирректории, что и сама программа, но выводит ошибку:


Traceback (most recent call last):
File “lovely_number.py”, line 8, in <module>
lovely_number = json.load(f_obj)
File “C:\Users\DGV\AppData\Local\Programs\Python\Python38-32\lib\json\__init__.py”, line 293, in load
return loads(fp.read(),
File “C:\Users\DGV\AppData\Local\Programs\Python\Python38-32\lib\json\__init__.py”, line 357, in loads
return _default_decoder.decode(s)
File “C:\Users\DGV\AppData\Local\Programs\Python\Python38-32\lib\json\decoder.py”, line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File “C:\Users\DGV\AppData\Local\Programs\Python\Python38-32\lib\json\decoder.py”, line 355, in raw_decode
raise JSONDecodeError(“Expecting value”, s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
GaDaub
import json

filename = ‘number.json’
try:
with open(filename) as f_obj:
number = json.load(f_obj)
except FileNotFoundError:
number = input(“What is your lovely number? ”)
with open(filename, ‘w’) as f_obj:
json.dump(number, f_obj)
print(“We'll remember you lovely number when you come back!” )


я изменила название переменной и имя файла json и всё заработало.. Такие ситуации - это норма для Python? Или json не сохраняет файлы с нижним подчёркиванием?
py.user.next
GaDaub
lovely_number.py находится в той же дирректории, что и сама программа
Программа прямо в нём и находится.

Сообщение об ошибке можно перевести на русский. JSONDecodeError - ошибка раскодирования JSON, что уже значит, что файл обнаружен. Внутри файла что-то не то.

GaDaub
я изменила название переменной и имя файла json и всё заработало
Вот. А теперь опять измени имя файла и вставь туда подчёркивание.

GaDaub
Или json не сохраняет файлы с нижним подчёркиванием?
Так ты узнаешь, сохраняет ли он файлы с подчёркиванием.

Все эти проблемы из-за мешанины. Ты пытаешься делать всё одновременно, а надо делать всё постепенно шаг за шагом и каждый шаг проверять на правильность. Когда шаг выполнен правильно (получены явные доказательства этого), можно переходить к следующему шагу. Так ты пишешь любую программу. А делание всего одновременно ради кажущегося увеличения скорости разработки приведёт тебя только в результате к двукратной или даже трёхкратной затрате времени на разработку. Разработка программы похожа на поедание торта. Ты отрезаешь кусочек и съедаешь его, и только после этого отрезаешь следующий кусочек и съедаешь этот следующий. Если же ты ради предполагаемой кажущейся скорости начинаешь есть весь торт сразу, то ты его съешь, конечно, в итоге, но выглядеть это будет совсем не так, как в нормальном случае. Проблемы будут возникать на каждом этапе этого процесса. При этом в первом случае проблем вообще не будет.

Вносишь одно изменение - смотришь на изменения в поведении программы.
Если всё работает, вносишь второе изменение - смотришь на изменения в поведении программы.
Если всё работает, вносишь третье изменение - смотришь на изменения в поведении программы.
И так далее, пока разработка программы не дойдёт до последнего шага.
GaDaub
Спасибо большое за такие красочные наставления) Буду стараться)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB