如何在Python词法分析器中运行外部Python文件?求助
Python词法分析器读取自定义文件问题修复
问题分析
你当前的代码存在两个关键错误:
hello.py未用字符串包裹,Python会将其识别为变量而非文件名,直接运行会抛出NameError- 将
print()的返回值(None)赋值给filecheck,无法为词法分析器提供有效的文件内容
正确修改方案
根据项目说明修改blankvar的正确步骤:
- 读取目标文件内容:
找到原代码中blankvar的定义部分,替换为读取hello.py内容的代码:# 替换原有blankvar的赋值语句 with open("hello.py", "r", encoding="utf-8") as f: blankvar = f.read() - 验证文件路径:
- 确保
hello.py与main.py在同一目录下,否则需使用完整绝对路径,例如"C:/projects/hello.py"(Windows)或"/home/user/projects/hello.py"(Linux/macOS)
- 确保
- 可选:打印输入文件内容:
如果需要打印文件内容,正确写法如下:with open("hello.py", "r", encoding="utf-8") as f: file_content = f.read() print("INPUT FILE:\n", file_content) # 将内容赋值给blankvar供词法分析器使用 blankvar = file_content
错误原因说明
- 未加引号的
hello.py会被Python解析为变量名,而你并未定义过该变量,因此触发命名错误 print()函数仅负责输出内容,其返回值为None,无法作为词法分析器所需的文本输入
内容的提问来源于stack exchange,提问作者Tina
相关产品推荐
相关产品推荐

