2013-07-02 87 views
0

我是新來的蟒蛇,我想用Python的進口

variablefile進口*

我需要variablefile作爲輸入從user.i試圖使用的raw_input(),但它沒有工作, 是否有任何方式在Python中做到這一點?

+0

是什麼variablefile接受...? – suspectus

+0

@suspectus輸入 – TerryA

+1

如果你是'Python新手',並且你正在嘗試這麼做:不要。想想你的設計,閱讀一些例子,並做一些不同的事情。由於太多原因,這是錯誤的。 – dawg

回答

1

from ... import *是不是真的很好的做法,因爲它可能會導致命名衝突,並使其更難看到哪裏班等真正定義。這尤其是如果你是從用戶輸入

import importlib 
globals().update(vars(importlib.import_module(variablefile))) 
+0

importlib與'__import__'相比有什麼優勢嗎? – grc

+0

我不會導入'globals',而是像'foo = importlib.import_module(變量文件))'這樣的變量。至少你不必擔心這個模塊會不小心打破其他名字。 –

+1

@grc,它在'help(__ import __)的第一段中提到' –

-1

嘗試:

myvar = "os" 
eval("import %s" % myvar)