Для того чтобы запустить программу 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
импортируемого правильный путь? что я делаю неправильно здесь?
Мы будем должны видеть код, который мы можем на самом деле запуска, которая на самом деле производит проблемы при запуске. – user2357112
нет необходимости. если я вставляю весь 'interface.py'code в' playlist.py', программа запускается по желанию. поэтому проблема должна быть в том, как взаимодействуют оба скрипта. –
хорошо нам нужно знать, что происходит после того, как вы импортируете все из плейлиста. Если вы просто хотите знать, как пройти глобальные вары, независимо от того, как это будет или не решит вашу acutal проблему, это так: «глобальные семена; Семена = {} '. Но опять же, то, что вы описываете, не должно быть проблемой, поэтому нам будет лучше видеть ваш код. – plumSemPy