Python运行Twitch机器人代码报f-string语法错误如何解决
问题根因
报错指向f-string代码行,核心原因是运行脚本的Python解释器版本低于3.6:f-string(格式化字符串字面值)是Python 3.6才正式支持的语法特性,3.5及更早版本的解释器无法识别该语法,会直接在f-string闭合引号位置抛出语法错误。
可选解决方法
两种方案选一个即可:
- 升级Python解释器到3.6及以上稳定版本(推荐3.8~3.11版本,第三方库兼容性更好),运行脚本时指定新版本解释器执行,原有代码无需修改即可正常运行,这是成本最低的方案。
- 若暂时无法升级Python版本,将代码中的f-string替换为旧版本兼容的
str.format()写法即可,修改后的对应代码片段如下:
def get_url(self): url = "" try: streams = session.streams(self.channel_url) try: url = streams['audio_only'].url print("URL : {}...\n".format(url[:30])) except: url = streams['worst'].url print("URL : {}...\n".format(url[:30])) # 注意:你贴出的代码中外层try块未补全对应的except/finally逻辑,后续运行若报缩进/语法错误请先补全这部分结构
内容的提问来源于stack exchange,提问作者daniel souars
相关产品推荐
相关产品推荐

