你的if陈述是错的.您正在检查sys.argv[0](即脚本的名称),它通常会评估为True(因为它包含一个实际的字符串).该elif部件永远不会被触发.
if
sys.argv[0]
True
elif
而是检查参数的数量,如下所示:
if len(sys.argv) == 1: # No arguments (except for the script name) # ... elif len(sys.argv) == 2: # 1 argument # ...