python 脚本中的命令行数组参数

Command line array argument into a python script

我想创建一个 python 脚本并解析命令行参数列表。

具体来说,我想给它以下参数并将它们作为数组读取。像这样:

run script.py (['file1.ascii', float_12, float_13, float_14, float_15, float_16], \
               ['file2.ascii', float_22, float_23, float_24, float_25, float_26] )

其中输入数组是:

input_array = (['file1.ascii', float_12, float_13, float_14, float_15, float_16], \
               ['file2.ascii', float_22, float_23, float_24, float_25, float_26] )

在脚本中,我想做一个“for 循环”并以这种方式分配变量:

for i in range(0, len(input_array) ): 
 variable_1 = 'filei.ascii'
 variable_2 = float_i2
 variable_3 = float_i3
 variable_4 = float_i4
 variable_5 = float_i5
 variable_6 = float_i6
 #do my calculations

您可以将数组转换为 JSON。

在调用脚本中,执行:

import json, subprocess

args = json.dumps(
    ['file1.ascii', float_12, float_13, float_14, float_15, float_16],
    ['file2.ascii', float_22, float_23, float_24, float_25, float_26] 
)
subprocess.run(['python', 'script.py', args])

并在 script.py 中解析 JSON

import json, sys

input_array = json.loads(sys.argv[1])
for filename, var1, var2, var3, var4, var5 in input_array:
    # do stuff