谁能解释一下 sys.argv 的这些行是如何工作的,

Can any one please explain how these lines of sys.argv are working,

当我将任何变量传递给命令行时,它会打印该参数,而当我在执行 python 文件时确实将任何参数传递给命令行时,它会给我错误。 我想知道,什么时候执行else语句。

if sys.argv[1]:
    ProcessPerameter = sys.argv[1]
else: 
    ProcessPerameter = 'Monthly'
print(ProcessPerameter) 

我知道我的问题不是技术性的,但是如果有人能帮助我,我将不胜感激

sys.argv 是从终端传递的参数列表,其中第一个始终是文件名。当你 sys.argv[1] 并且什么都没有通过时;你得到索引错误。检查列表的长度而不是第一个参数:

ProcessPerameter = 'Monthly'
if len(sys.argv)>1:
    ProcessPerameter = sys.argv[1]

print(ProcessPerameter)