是否可以从 .py 文件生成的 .pyc 文件中获取一些信息?
最佳答案
Uncompyle6适用于 Python 3.x,但有一些错误,适用于 2.7。
如果这不起作用,请尝试 decompyle3 ,Uncompyle6 的一个分支,在 3.7 及更高版本中效果更好(根据 Uncompyle6 的作者)。
如果您仍有问题,请查看 uncompyle6
和 decompyle3
自述文件,它们链接到可能更适合您的代码的其他工具。
您可以取回包含变量名和文档字符串的代码,但不包含注释。
某些代码可能无法成功反编译,尤其是使用异常控制流或更新的 Python 3.x 版本时。这是由于这些反编译器中的错误导致 Python 会随着时间的推移更改其字节码。
如果需要,请为这些项目提出 GitHub 问题 - 两者都在一系列 Python 版本上运行单元测试套件。
资金显然是对在 uncompyle6
和 decompyle3
中支持更新的 Python 版本(3.7 及更高版本)的限制 - 发送捐款会有所帮助。
见 this answer了解一些可能适用于您的编辑器或 IDE 的技巧,包括 VS Code 和 PyCharm。
https://stackoverflow.com/questions/5287253/