在Python中使用json文件时出错

在Python中使用json文件时出错,python,json,python-3.x,ping,Python,Json,Python 3.x,Ping,帮助整理json错误- C:\Users\123\AppData\Local\Programs\Python\Python38>python C:\main_3.py Traceback (most recent call last): File "C:\main_3.py", line 10, in <module> data = json.load(file) File "C:\Users\123\AppData\Local\P

帮助整理json错误-

C:\Users\123\AppData\Local\Programs\Python\Python38>python C:\main_3.py
Traceback (most recent call last):
  File "C:\main_3.py", line 10, in <module>
    data = json.load(file)
  File "C:\Users\123\AppData\Local\Programs\Python\Python38\lib\json\__init__.py", line 293, in load
    return loads(fp.read(),
  File "C:\Users\123\AppData\Local\Programs\Python\Python38\lib\json\__init__.py", line 357, in loads
    return _default_decoder.decode(s)
  File "C:\Users\123\AppData\Local\Programs\Python\Python38\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Users\123\AppData\Local\Programs\Python\Python38\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)

C:\Users\123\AppData\Local\Programs\Python\Python38>
例如,config2.yaml文件的内容

botkey: ***********************************
userid: -**********
interval: 60
hosts:
  - "google.com:Google.ru"
  - "ya.ru:Yandex.ru"
  - "mail.ru:Mail.ru"
  - "rambler.ru:Rambler.ru"

不能将空文件作为字典读取。但是你可以从文件中读取一本空字典

所以, 尝试在文件中保存空词典,而不是在首次启动时保存空文件 i、 e:ping_data.json的内容应该是空的花括号(如下所示)


干杯。

明白了,一切正常。错误只是由于JSON文件的编码造成的。

这确实是因为ping_数据文件是空的。“可能是因为一个空文件-ping_data.JSON导致了此错误?”是的,所描述的错误正是空文件的预期错误。“在这种情况下,我不知道如何为第一次启动准备此文件。”那么,在第一次启动时,
数据
应该等于什么?更好的方法可能是在有东西放入文件之前不创建该文件,并相应地修改代码。@karl knechtel在第一次启动时,默认情况下所有主机都处于联机状态,也就是说,true-host.py
code
类地址:def init(self,address,comment):self.address=address self.comment=comment self.status=true
code
文件应包含检查状态的结果true和False。。。True False在json文件中添加了一行,错误仍然存在
{“10.42.1.43”:True}
一本空字典也会抛出一个错误。这是weired man。我只是试着在电脑里用一本空字典从第7行跑到第12行,效果很好。这是你特有的
botkey: ***********************************
userid: -**********
interval: 60
hosts:
  - "google.com:Google.ru"
  - "ya.ru:Yandex.ru"
  - "mail.ru:Mail.ru"
  - "rambler.ru:Rambler.ru"
{}