Я пишу программу на python, которая имеет три модуля: 1. settings.py 2. init.py 3. main.py
settings.py только имеет одну логическую переменную, цель состоит в том, чтобыиспользовать его как глобальную переменную (назовем ее var, инициализированной как False
) для модулей
init.py импортирует var и устанавливает ее на True
после выполнения некоторых действий в функции
main.py должен проверить, является ли var == True
.Если да, продолжайте с программой, иначе попросите пользователя дать некоторые инструкции командной строки (скажем, prg start), которые затем вызовут функцию в init.py, который, в свою очередь, также установит var==True
Проблемазаключается в том, что, поскольку я создал программу, которая принимает аргументы от CLI, var
всегда имеет значение False.Таким образом, единственная команда, которую принимает CLI, это prg start
, иначе она печатает сообщение об ошибке, которое я написал.
Мне нужен какой-то метод, чтобы позволить var
остаться True
до конца сеанса, а сеанс фактическипереводит до тех пор, пока компьютер не выключится.
код для main.py
first = sys.argv[0]
arguments = sys.argv[1:]
second = arguments[0]
if settings.var == False and second != "start":
print "Error, type \'prg start\' to start"
sys.exit(0)
if second == "start":
init.start()
Вот что я пытаюсь сделать:
pi @ raspberrypi: ~ $ prg start
pi @ raspberrypi: ~ $ prg set color 4
Success
что происходит сейчас:
pi @ raspberrypi: ~ $ prg start
pi @ raspberrypi: ~ $ prg set color 4
Ошибка, введите 'prg start' для запуска