首页 > 解决方案 > 如何调试这个 Python 3.7 语法错误?

问题描述

我仍在尝试尽可能多地学习 Python。我遇到了这个项目,虽然用它来学习可能有点过于雄心勃勃,但我是对的。首先它输出这个错误

available_list = [f'\n{key} - {value}' for (key, value) in slot_data.items() if value != 'UNAVAILABLE']
                                         ^
SyntaxError: invalid syntax

并且已经不知道如何解决它。我被困住了,因为我不知道f'\n{key}第 50 行代码中的内容。它应该是什么?

更新

感谢回复的人。但现在我有一个新的错误。我添加了

import sys
print(sys.version)

按照某人的建议检查 Python 版本。

3.7.5 (default, Nov 20 2019, 09:21:52) 
[GCC 9.2.1 20191008]
<Response [400]>
{}
Traceback (most recent call last):
  File "/home/user/Documents/Python works/get-grocery-delivery-slots.py", line 47, in <module>
    for slot_day in r.json()['data']['slot_days']:
  File "/usr/lib/python3/dist-packages/requests/models.py", line 897, in json
    return complexjson.loads(self.text, **kwargs)
  File "/usr/lib/python3/dist-packages/simplejson/__init__.py", line 518, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 370, in decode
    obj, end = self.raw_decode(s)
  File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 400, in raw_decode
    return self.scan_once(s, idx=_w(s, idx).end())
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

标签: pythonpython-3.x

解决方案


问题是您正在尝试使用仅在 Python 3 上受支持的f 字符串。最接近的 Python 2 等效项是这样的:

'\n{key} - {value}'.format(key=key, value=value)

或者:

'\n{} - {}'.format(key, value)

推荐阅读