【发布时间】:2021-10-11 09:49:50
【问题描述】:
我面临一个问题,我们需要跟踪第三方代码中的某些 python 方法以查看它们是否已更改。
我们不能散列整个文件,因为可能有各种不相关的变化。
所以,我可以毫无问题地编写一个进程,该进程在被调用时会提供一个文件名和路径、一个类名和一个方法名。
我需要一些指示如何读取该方法 - 显然不能依赖行号 - 然后我可以创建一个哈希并存储它。
我似乎找不到任何方法来“在 python .py 文件中找到类 Y 中的方法 X”
注意这个被扫描的源甚至可能没有路径,所以我无法从内部找到或分析类 - 我需要一个可以在不打开源的情况下分析源的函数(它是一个我什至没有的文件库路径)。
【问题讨论】:
-
我无法理解“不打开就分析源代码”部分。
-
主要是,我想避免加载模块 - 它是第三方代码 - 它有数百个方法和类 - 甚至可能有错误或可能无法执行 - 但我知道它是 python (即使它是带有阻止它执行的错误的python)-我只需要知道特定类中的任何特定方法是否已更改。