为什么这段Python代码在Windows可正常运行,Mac系统下运行却报错?
语法错误原因
f-string(格式化字符串字面值)是Python 3.6版本才正式加入的语法特性。你的Windows环境运行时调用的是3.6及以上版本的Python,可正常解析该语法;而Mac系统默认自带的Python版本为2.7或低于3.6的Python3版本,无法识别f-string语法,因此在对应行触发语法错误。
修复方案
优先方案:使用高版本Python运行脚本
- 在Mac终端执行
python3 --version确认已安装3.6及以上版本的Python,若版本不足可直接安装官方最新稳定版Python - 运行脚本时使用
python3 你的脚本文件名.py命令执行,避免调用系统默认的低版本Python - 若运行时报依赖缺失,执行
pip3 install requests bs4 lxml安装对应依赖即可
- 在Mac终端执行
兼容低版本写法(无需调整运行环境)
你当前代码里的f-string属于冗余写法,完全可以删掉格式化壳直接调用方法,修改第21、25行代码即可:
原代码:
mystring = (f"{paragraphs[paragraph].getText()}") # 另一行 mystring = mystring + (f"{paragraphs[paragraph].getText()}")
修改为:
mystring = paragraphs[paragraph].getText() # 另一行 mystring = mystring + paragraphs[paragraph].getText()
修改后所有Python3版本都可正常运行,不需要依赖f-string特性。
内容的提问来源于stack exchange,提问作者ckwan
相关产品推荐
相关产品推荐

