2017-01-01 1 views
-2

Для того чтобы запустить программу playlist.py, у меня есть скрипт для простого тестового интерфейса, interface.py со следующим кодом:Python - передавая глобальную переменную в качестве аргумента для импортируемого модуля

seeds = {} 

user_input1 = raw_input("Please pick a seed: track, artist or genre. >> ") 

user_input2 = raw_input("which one? >> ") 

if user_input1 == 'track': 
    seeds['track'] = user_input2 
elif user_input1 == 'artist': 
    seeds['artist']= user_input2 
else: 
    seeds['genre'] = user_input2 

playlist.py расположен в в этом же каталоге interface.py и импортировать бывший в данный момент:

if __name__ == "__main__": 
    from playlist import * 

В playlist.py я мои классы определены, и аргумент seeds должен быть принят как так:

playlilst.__init__(self, **seeds) 

, но когда я бегу interface.py, я получаю следующее сообщение об ошибке:

playlist.__init__(self, **seeds) NameError: global name 'seeds' is not defined

ли playlist.py импортируемого правильный путь? что я делаю неправильно здесь?

+2

Мы будем должны видеть код, который мы можем на самом деле запуска, которая на самом деле производит проблемы при запуске. – user2357112

+0

нет необходимости. если я вставляю весь 'interface.py'code в' playlist.py', программа запускается по желанию. поэтому проблема должна быть в том, как взаимодействуют оба скрипта. –

+1

хорошо нам нужно знать, что происходит после того, как вы импортируете все из плейлиста. Если вы просто хотите знать, как пройти глобальные вары, независимо от того, как это будет или не решит вашу acutal проблему, это так: «глобальные семена; Семена = {} '. Но опять же, то, что вы описываете, не должно быть проблемой, поэтому нам будет лучше видеть ваш код. – plumSemPy

ответ

0

В playlist.py,

from interface import seeds 
+0

Не имеет смысла импортировать материал из интерфейса в модель. – TigerhawkT3

+1

@ TigerhawkT3, конечно, не идеальный ответ, но он был единственным, и он решил проблему. мало смысла лучше, чем никакого смысла. –

Смежные вопросы