gpt4 book ai didi

python - 为什么函数中的 exec 中的导入不起作用?

转载 作者:IT老高 更新时间:2023-10-28 20:26:35 25 4
gpt4 key购买 nike

我可以将导入语句放在一个字符串中,执行它,它可以工作(打印一个随机数字):

code = """
import random
def f():
print random.randint(0,9)
"""

def f():
pass

exec code
f()

现在,如果我把 exec codef() 放在它们自己的函数中并调用它,它就不起作用了。

def test():
exec code
f()

test()

它说 NameError: global name 'random' is not defined.

最佳答案

这个怎么样:

def test():
exec (code, globals())
f()

关于python - 为什么函数中的 exec 中的导入不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12505047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com