假设我有一个合并函数,可以将任意数量的文件合并为一个文件。这需要变量数量的输入。因此我的问题是,如何从argparser中接收参数,并考虑2个或更多输入文件的情况?
nargs='+'
或nargs='*'
来收集参数并将其放入列表中。import argparse
the_parser = argparse.ArgumentParser()
the_parser.add_argument('--input_files',nargs='+')
args = the_parser.parse_args()
subprocess
从另一个脚本中进行调用,则可以执行以下操作:import subprocess
the_files = ['to_merge_1.txt', 'to_merge_2.txt']
cmdlnargs = ['python','argparse_example.py','--input_files']
cmdlnargs.extend(the_files)
subp = subprocess.Popen(cmdlnargs,
stdout=subprocess.PIPE,
stdin=subprocess.PIPE,
stderr=subprocess.STDOUT)
stdout, stderr = subp.communicate()
print stdout