我试图编译一个python脚本并记录任何语法错误
我有个剧本叫测试.py看起来像
#!/usr/bin/python
import py_compile
try:
py_compile.compile("answer.py")
except py_compile.PyCompileError as e:
print(e)
你知道吗答案.py只是一个独立的脚本,除了打印一些东西(目前)什么都不做
我在运行的php文件中还有一个php exec命令测试.py,问题是php exec没有得到任何返回
print(e)
我猜是因为PyCompileError中的e不是字符串或格式奇怪的东西,所以结果只是返回空的“”。当我玩它的时候,它好像是一个物体,不知道如何把它转换成一个字符串。你知道吗
我试着把它放到一个字符串中,但是它不起作用,如果我把e变成一个类似print("You have errors")
的字符串,我会得到正确的输出,所以它不是我的php,但是我希望在行中出现语法错误。甚至不知道我是否应该使用compile()来实现这个
我想出来了,基本上我需要doraise=True然后得到
print(e.exc_value)
在人们认为我懒惰和不阅读文档之前,我最初确实有
doraise=True
,但我没有意识到exc\u value是包含消息的变量(我试图获取e.msg),所以我关闭了它,因为它说默认情况下,它会打印到stderr,而我尝试从那里开始工作。你知道吗请忽略
相关问题 更多 >
编程相关推荐