2012-02-17 17 views
3

私はマージ関数を持っていると言います。任意の数のファイルを1つにマージすることができます。これには、可変数の入力が必要です。だから私の質問は、argparserから引数を取って、どのように2つ以上の入力ファイルの可能性を説明するだろうか?argparseを使用した無限入力

答えて

6

nargs='+'またはnargs='*'のいずれかを使用できます。
これらはargsをリストにまとめます。

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 
+0

シンプルですが、どのように私は、コマンドとして入力を使用することができ、サブプロセスを実行するのでしょうか? –

+0

基本サブプロセスの例を追加しました。 – bernie

関連する問題