为了账号安全,请及时绑定邮箱和手机立即绑定

Python - py_compile 没有输出

Python - py_compile 没有输出

狐的传说 2021-09-11 20:08:14
我正在尝试检查 python 代码中的错误,我需要访问错误日志本身(我不能只检查.pyc文件是否已创建)。我目前的流程是我有一个要运行的脚本python3 -m py_compile test.py,其中test.py“aegsedrg”在哪里,没有别的(换句话说,无效的python代码)。当 python3 test.py运行时,其结果是错误的(如预期):Traceback (most recent call last):  File "test.py", line 1, in <module>    aegsedrgNameError: name 'aegsedrg' is not defined但是,python3 -m py_compile test.py返回(通过 stdout 或 stderr)没有错误。这是在 Ubuntu 16.04 服务器上,我最近对其进行了升级和更新。我也完全重新安装了 Python 3。我认为这不是权限问题,test.py是 777。为什么python3 -m py_compile test.py什么都不返回?-编辑-我还尝试使用以下 python 脚本来执行此操作:import py_compileprint("Here")py_compile.compile("test.py")print("Here2")输出是“Here”,然后是“Here2”。
查看完整描述

1 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

aegsedrg独立文件中的字符串本身(或任何其他非关键字字符串)不是语法错误。它可以是程序中其他地方定义的标识符。py_compile不执行已编译的文件,也无法捕获运行时错误(如NameError)。


尝试在您的文件中编写一些语法错误的内容,例如相同的字符串后跟一个问号:


py_compile.compile("test.py")

  File "test.py", line 1

    aegsedrg ?

             ^

SyntaxError: invalid syntax


查看完整回答
反对 回复 2021-09-11
  • 1 回答
  • 0 关注
  • 363 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号