我正在用 python 编写一个程序,它有三个模块:1. settings.py 2. init.py 3. main.py
settings.py 只有一个布尔变量,目标是将它用作False跨模块的全局变量(我们称之为 var,初始化为)
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 开始
pi@raspberrypi: ~$ prg 设置颜色 4
成功
现在发生了什么:
pi@raspberrypi: ~$ prg 开始
pi@raspberrypi: ~$ prg 设置颜色 4
错误,输入“prg start”开始
婷婷同学_
慕斯王
相关分类