如何测试多个命令行参数(sys.argv

jra*_*ara 4 python excel loops

我想在循环中测试多个命令行参数

> python Read_xls_files.py group1 group2 group3
Run Code Online (Sandbox Code Playgroud)

没有此代码仅测试第一个(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)
Run Code Online (Sandbox Code Playgroud)

我应该如何修改这个,我可以测试一个,两个或所有这些参数?因此,如果在一个sh.cell(i,1)中存在group1,则附加列表,如果存在group1,group2等,则追加hlo.

Ste*_*yle 6

您可以迭代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)
Run Code Online (Sandbox Code Playgroud)

  • 你想迭代`sys.argv [1:]`,而不是`sys.argv`; 你不想包含`argv [0]`,它是正在运行的脚本的名称. (2认同)