假设我有一个如下定义的 Python 函数:
def foo(arg1,arg2):
#do something with args
a = arg1 + arg2
return a
我可以使用 foo.func_name
获取函数的名称。我怎样才能以编程方式获取它的源代码,就像我在上面输入的那样?
原文由 david 发布,翻译遵循 CC BY-SA 4.0 许可协议
假设我有一个如下定义的 Python 函数:
def foo(arg1,arg2):
#do something with args
a = arg1 + arg2
return a
我可以使用 foo.func_name
获取函数的名称。我怎样才能以编程方式获取它的源代码,就像我在上面输入的那样?
原文由 david 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
2 回答848 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
如果该函数来自文件系统上可用的源文件,那么
inspect.getsource(foo)
可能会有帮助:如果
foo
定义为:然后:
退货:
但我相信,如果该函数是从字符串、流或从已编译文件导入的,那么您将无法检索其源代码。