Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在python中有以下功能:
def foo(): print 1 return 1
在外壳中,我运行
foo()
我得到
1 1
我应该这样做。但是当我在 shell 中运行以下命令时
exec('foo')
我什么都得不到?为什么?
这是一个更大问题的稀释版本。
您仅引用函数名称。添加括号以实际调用该函数:
exec('foo()')
这将打印1;返回值被丢弃,因为没有任何东西捕获它。您可以添加额外的打印语句来显示返回值:
1
exec('print foo()')
exec()不是“执行命名的函数”,而是“执行给定的python代码”。
exec()