这是我在这里发表的第一篇文章,如果我做错了,请告诉我.我试着找一个现有的答案,但不知道该搜索什么.
考虑以下简单示例,一个名为python的模块mymath.py,它只使用内置的python操作和模块.这个自定义模块是可移植的,因此任何人都可以执行代码而无需安装除了stock python以外的任何东西
# mymath.py
import sys
def minus(a, b):
return a-b
def mult(a, b):
return a*b
def div(a, b):
return a/b
def plus(a, b):
return a+b
def sum_series(int_list):
sum = 0
for i in int_list:
sum = plus(sum, i)
return sum
def main():
my_list = [2, 4, 6]
value = sum_series(my_list)
sys.stdout.write("your list total = {}".format(value))
Run Code Online (Sandbox Code Playgroud)
请注意,main()只有拨打sum_series()电话的电话plus().在这个虚构的代码库中可能需要其他功能,但我们只关心main().
现在,我想将相关的源代码复制到另一个对象作为文本字符串.换句话说,收集main()它和它的所有依赖项(递归地),产生一串可执行代码.
我目前的解决方案
import inspect
import mymath
# copy the source …Run Code Online (Sandbox Code Playgroud)