【问题标题】:Problem of Python running code error on PycharmPycharm上Python运行代码报错的问题
【发布时间】:2020-11-09 01:46:28
【问题描述】:

我正在使用 Pycharm Professional 2019.03 执行 Python 代码 Streaming Twitter Filter。运行代码未成功完成并出现消息错误:

Traceback(最近一次调用最后一次):

File "C:/Users/HP/PycharmProjects/Twitter_Stream/twitter_filter.py", line 12, in <module>
    with open(file_path) as f:
FileNotFoundError: [Errno 2] No such file or directory: '/config/api.json'

当我运行脚本print(os.getcwd()) 时,结果是C:\Users\HP\PycharmProjects\Twitter_Stream 运行/调试配置窗口显示工作目录是 C:\Users\HP\PycharmProjects\Twitter_Stream 看起来一切正常,但我不知道为什么这个消息错误。 api.json 文件与twitter_filter.py 位于同一目录中

我尝试替换代码: file_path = '/config/api.json' by file_path = '/Users/HP/PycharmProjects/Twitter_Stream/config/api.json'file_path = 'C:/Users/HP/PycharmProjects/Twitter_Stream/config/api.json', 我收到此消息错误:

Traceback (most recent call last):
  File "C:/Users/HP/PycharmProjects/Twitter_Stream/twitter_filter.py", line 13, in <module>
    twitter_api = json.loads(f.read())
  File "C:\Users\HP\Anaconda3\lib\json\__init__.py", line 348, in loads
    return _default_decoder.decode(s)
  File "C:\Users\HP\Anaconda3\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Users\HP\Anaconda3\lib\json\decoder.py", line 353, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 3 column 5 (char 7)

请有人可以帮我解决这个问题吗?如果您需要更多信息,请告诉我

谢谢!

【问题讨论】:

  • 你的json文件格式有问题。
  • 你说api.json文件和twitter_filter.py在同一个目录下,但是你使用的文件路径里面有`config`。你确定你说的对吗?

标签: python json windows pycharm tweetstream


【解决方案1】:

(我会发表评论,但我没有足够的代表点数。)

当您看到JSONDecodeError时,表示该模块正在成功读取JSON文件。

但是,模块似乎认为该文件无效。

根据以往的经验,我会通过以下链接检查 JSON 文件是否有效:https://jsonformatter.curiousconcept.com/

我认为可能是您的 JSON 文件使用单引号而不是双引号,因此格式不正确。

【讨论】:

  • 其实我认为我的 Json 文件格式不正确。这是我的代码:
  • 在把代码发给你之前,我会试着纠正它!
  • XD 好的,一个简单的 Replace (Ctrl. H) 替换 '" 应该可以!
  • 有效 Json 格式的工具仍然显示我的文件存在问题。你能帮我解决这个问题吗?这是我的文件的内容{ “CONSUMER_KEY”: 'MhQGtweOFQNqeBRhumbcq69AS' “CONSUMER_SECRET”: 'w98yHiKqDqmdHW8mpk5CvZsy1ytO7DF24DYMvNiaUtj1hPBE0g' “ACCESS_TOKEN”: '1200185154825859078-qXArXtk6Fp7E9sy8JTaRke0y091QRt' “access_token_secret”: '6cN7LetEWipraaZ1QZPWYs1lVTwQZdu8kY2lS0Kd5jksH'}。跨度>
  • 是的,他们报告这样的事情是正确的。每次输入后都缺少逗号。例如,您需要{"key1": "value1", "key2": "value2"}。您缺少"value1""key2" 之间的逗号。
猜你喜欢
  • 1970-01-01
  • 2018-04-24
  • 2020-07-27
  • 1970-01-01
  • 2020-04-29
  • 2020-09-07
  • 1970-01-01
  • 2018-01-02
  • 2015-09-05
相关资源
最近更新 更多