首页 > 解决方案 > 如何从二进制 python 文件中知道文件路径?

问题描述

我是python中的新手。

我在 /usr/bin/xyz.py 中看到了一个文件。每当我执行它时,它都会完成一些工作(与问题无关。)

我的问题是我想找到这个文件的代码在哪里(它正在生成这个python文件。我是说每当我在终端中写入文件名并按回车键就开始执行它。我也尝试用vim打开它.文件有不可读的字符)是否可以找到代码?

每当我用 vim 打开一个文件时,我都会得到这个。我正在远程打开它。

在此处输入图像描述

标签: pythonpython-2.7

解决方案


这些是 Python 的文件类型:

.py文件不是二进制文件,它们是纯 Python 代码。

.pyc并且.pyo是 Python 编译的文件(也不是完全二进制的)。唯一的区别是后者进行了优化。

.pyw没有说明是否是二进制文件。它只是不会在 Windows 机器上打开控制台窗口。(默认情况下使用pythonw.exe而不是运行)python.exe

任何文本编辑器都应该能够.py正确打开文件。


根据您的屏幕截图,它可能是在 elf 中使用某种 py2exe 编译的 python 代码。也许cx_freeze?

取出代码一点也不容易:你可以通过使用像 gdb 这样的调试器直接从内存中取出它,或者尝试以某种方式反编译它。即使那样,您也只会得到 .pyc ,这是一段几乎无法理解的代码。


推荐阅读