我试图找到这个问题的答案,但似乎没有什么适合这个问题......
我想在一个简单的行中将 a 分配sys.argv
给一个变量,而不是执行以下操作:
var1 = sys.argv[1]
var2 = sys.argv[2]
var3 = sys.argv[3]
var4 = sys.argv[4]
var5 = sys.argv[5]
var6 = sys.argv[6]
etc...
这可能吗?
干杯,
米宾
我试图找到这个问题的答案,但似乎没有什么适合这个问题......
我想在一个简单的行中将 a 分配sys.argv
给一个变量,而不是执行以下操作:
var1 = sys.argv[1]
var2 = sys.argv[2]
var3 = sys.argv[3]
var4 = sys.argv[4]
var5 = sys.argv[5]
var6 = sys.argv[6]
etc...
这可能吗?
干杯,
米宾
是的:
var1,var2,var3,var4 = sys.argv[1:5]
这仅在右侧的可迭代对象有 4 个元素时才有效。Python3.x 稍微扩展了这个功能:
var1,var2,var3,var4,*rest = sys.argv[1:]
在此变体中,您将 的前 4 个元素解压缩sys.argv[1:]
到变量中,其余元素sys.argv
放入 list 中rest
。
对于命令行解析,我肯定会推荐argparse
. 它随 python2.7 一起提供,可以很容易地为旧版本的 python 安装。