【发布时间】:2019-04-22 20:35:27
【问题描述】:
我的代码是这样的:
for module in ["ffmpy","os","sys"]:
try:
__import__(module)
except:
print("Can't import ["+module+"]")
所以,我想在全球范围内导入它,但它似乎没有这样做。在这段代码之后,我有sys.path.insert(0, r"C:\Users\david\Desktop\scripts"),python 控制台告诉我:NameError: name 'sys' is not defined。我不知道我做错了什么,但希望你能做到。
编辑:这个问题不是重复的,因为我不“只是”想从字符串导入,而是从 for 循环中做到这一点。我基本上想从一个字符串中导入,在一个循环中,全局。
【问题讨论】:
-
我明白为什么您可能希望有条件地处理
ffmpy的导入,但os和sys...?!如果那些不存在……那又怎样?! -
@deceze 我认为即使没有
try-except块,这个问题也很有趣。 -
@deceze 我这样做是因为懒惰的编程,但我明白你的意思。我只是在那一行写了要导入的所有内容。
-
好吧,别偷懒了。 ??? 很好
import在无法导入的情况下引发异常,您需要一个非常好的理由来抑制这些异常。
标签: python python-3.x python-import python-module python-3.7