PythonL:无效的语法文件“ <fstring>”,第1行

inc*_*boy 8 python-3.6

这样做时python3 Webhook.py是文件),它给我错误: File "<fstring>", line 1 (%X - %x) ^ SyntaxError: invalid syntax

我尝试打印出文件的原始内容,并且还使用了十六进制编辑器,第1行上没有任何内容会引起错误。我也做了: import time, os, aiohttp, plistlib, discord, asyncio, json, subprocess 在Python3的Terminal.app版本中,没有错误,我的版本是3.6.3,但更新到3.6.5,以检查问题是否会消失,但没有。有人可以帮忙吗?

小智 26

我只花了 1 小时检查我的代码,遇到同样的问题。就我而言,我开始删除部分代码以缩小问题范围。

最后我到了问题的根源。

在我的例子中,我正在打印一个 f"string" 并且在 f 字符串中我在变量名中有一个空格我正在调用 example print(f"This is a statement {Var 23} "

那个空间,产生了我的问题。

我希望这有帮助 :)

  • 是的,到目前为止我是如何学习的;以艰难的方式学习它。 (2认同)

mat*_*ter 8

{}使用f字符串格式前缀格式化的字符串中的任何内容无效时,就会发生这种情况。就我而言,Python 3.7。好处是您会得到导致错误消息出现问题的字符串。您没有得到行号,但是一旦您承认第 1 行不是错误的正确行号,仍然很容易弄清楚。

  • Python 解析器的又一次史诗般的胜利。 (2认同)

Ben*_*Lin 5

也可能是您有一种与 python 3.8 兼容的字符串格式化方式,例如:

f"print{count=}"
Run Code Online (Sandbox Code Playgroud)

与 3.6、3.7 不兼容。

在这种情况下,您可以决定要求用户升级到 python3.8,或者降级您的代码。