0
我工作的一个功能,可自动采取一些代码,我已经写在蟒蛇创建校验中发现其他功能的源代码上传一起。一个Python模块
的问题是我需要动态地发现同一模块内的其他功能,我现在愿意加入,
这让我们可以继续写更多的代码,并将它自动更新。
TL:DR;为相同源文件中的函数制作自动源代码校验和上传工具。我如何找到所有其他功能?
如:
def func1(y):
some random stuff.....
return x
def autochecksum():
for func in module:
checksum = md5(inspect.code(func)).hexdigest
othermodule.upload(inspect.code(func), checksum)
最近我可以得到为(纯侥幸所有的函数名开始的get_):
def update_jms_directory():
import appdata.transfer.uploads as uploads
for function in dir(uploads):
if function.startswith("get_"):
package_function()
什么是你的问题? – 2012-09-17 13:59:36
你正在研究错误的抽象层次。函数对象与源代码没有1-1对应关系。无论是用字节码(你所需要的环境太),但有*是*字节码所有的Python功能(虽然不是真正为装饰这实际上是对象)。你也不想共享的字节码,因为它不是在所有便携式和一个可以平凡创建字节码解释器出现segfaults。为什么不在文件级别工作? – delnan
的autochecksum功能正在被写入每个函数的源代码发送到PostgreSQL服务器与校验,以确保它是我们如何指望它在另一端。这个想法是我在与源文件 – Jharwood