2013-07-02 3 views
0

Я новичок в Python я хочу использоватьPython из переменного файла импорт

из variablefile импорта *

мне нужно принять variablefile как вход из user.i пытался использовать raw_input(), но это не сработало, есть ли способ в python для этого?

+0

Что такое переменный файл? – 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, он упоминается в первом абзаце справки (__ import __) ' –

-1

Try:

myvar = "os" 
eval("import %s" % myvar) 
Смежные вопросы