使模块全球化?

1 python module global

我想知道为什么

 >>> def func2():
...     global time
...     import time
...
>>> time
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'time' is not defined
>>> func2()
>>> time
<module 'time' (built-in)>
>>>
Run Code Online (Sandbox Code Playgroud)

有效,但是

   >>> def func():
...     global module
...     module="time"
...     exec ("global %s" %module)
...     exec ("import %s" %module)
...
>>> time
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'time' is not defined
>>> func()
>>> time
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'time' is not defined
Run Code Online (Sandbox Code Playgroud)

工作没有,我怎么能让它工作=)谢谢

Ign*_*ams 7

每个exec()调用都在一个单独的命名空间中进行.放弃这条道路; 它只会导致毁灭.