我意识到,在编译python脚本之后,它修复了此脚本的路径信息。python脚本路径在编译后保持不变
例如: 我有一个python脚本作为/tmp/src/foo.py其中有一个单一的打印命令
print foo
现在我编译此代码,并将其移动到编制目录。
python -m compileall -f /tmp/src/foo.py
mv /tmp/src/foo.pyc /tmp/compiled/
然后我运行脚本,我节选
python /tmp/compiled/foo.pyc
Traceback (most recent call last):
File "/tmp/src/foo.py", line 1, in <module> # focus heree
print foo
NameError: name 'foo' is not defined
当你意识到这一点提示错误,脚本的文件名出现在错误的编译之前它的名字。 (与我给编译命令的路径完全一样)
其实我对这种情况没有问题,我在问,因为我只是在想。什么原因,有什么办法看到错误的真正路径?
在我看来,我们无法更改二进制文件,但是也许我们可以在运行编译代码时给python命令行参数,或者我们可以将代码段添加到源代码中?
感谢
你的意思是“有什么方法可以看到真正的错误?”? 你看到真正的道路已经对吗? 你想在那里看到什么? –
为什么你想手动“编译”一个脚本,你为什么要把它放在不同的目录中? – smeso
@禁止监督我看到源路径。我想看看编译代码的路径。 – ibrahim