这会产生错误:
ValueError: Expecting value: line 1 column 1 (char 0)
这是我的代码:
...
print("Your phonebook contains the following entries:")
for name, number in phoneBook.items():
print("%s - %s" % (name, number))
while not created:
if not os.path.isfile('phonebook.json'):
with open('phonebook.json', 'wb') as f:
try:
f.write('{}')
except TypeError:
{}
created = True
print('New phonebook created!')
else:
print('Phonebook found!')
created = True
with open('phonebook.json', 'r') as f:
try:
phoneBook_Ori = json.load(f)
phoneBook_Upd = dict(phoneBook_Ori.items() + phoneBook.items())
phoneBook_Ori.write(phoneBook_Upd)
except EOFError:
{}
if EOFError:
with open('phonebook.json', 'w') as f:
json.dump(phoneBook, f)
else:
with open('phonebook.json', 'w') as f:
json.dump(phoneBook_Ori, f)
有人知道怎么解决这个问题吗?
我以前也问过一个关于这个代码的问题here
我在使用
json.load(var)
和var
时遇到此错误,后者包含来自REST API调用的空JSON响应。在您的例子中,JSON响应(
phonebook.json
)必须有记录。这将修复错误。我在Python2.x解释器中复制粘贴的代码。
我收到了一个关于phonebook.json文件的
ValueError
。我创建了一个虚拟文件:{'sean':'310'}
我的错误是: 值错误:应为属性名:第1行第2列
这是我唯一能收到ValueError的方法。 因此,我认为您的问题在于json在phonebook.json中的编写方式。你能发布它的内容或子集吗?
另外,使用
phoneBook_Ori.write()
似乎很有问题,因为json模块没有名为write()
的方法,如果在json对象上使用json.load()
的返回,则它是一个字典,也不能write()
。您可能想使用json.dump()
。更多信息请访问: https://docs.python.org/2/library/json.html
不管怎样,我希望我能帮上忙。
相关问题 更多 >
编程相关推荐