如何测试多个命令行参数(sys.argv)
我想在一个循环中测试多个命令行参数。
> python Read_xls_files.py group1 group2 group3
不,这段代码只测试第一个参数(group1)。
hlo = []
for i in range(len(sh.col_values(8))):
if sh.cell(i, 1).value == sys.argv[1]:
hlo.append(sh.cell(i, 8).value)
我应该怎么修改这段代码,才能测试一个、两个或者所有这些参数呢?也就是说,如果在某个 sh.cell(i, 1) 中有 group1,就把它加到列表里;如果有 group1、group2 等等,就把它们都加进去。
6 个回答
2
我建议你看看Python的optparse模块。这个模块可以帮助你处理命令行输入的参数,使用起来很方便。
7
你可以遍历 sys.argv[1:]
,比如可以用下面这样的方式:
for grp in sys.argv[1:]:
for i in range(len(sh.col_values(8))):
if sh.cell(i, 1).value == grp:
hlo.append(sh.cell(i, 8).value)