2016-07-23 15 views
0

argparseを使用してファイルに受け​​取る引数名&の引数名を書きたいとします。私はこれまでのところ、これを持っている:--infileとPython argparseからファイルに引数名を書き込むにはどうすればよいですか?

import argparse 

parser = argparse.ArgumentParser() 
parser.add_argument("--infile", help = "seed file", default = 'test') 
parser.add_argument("--lang", help="wiki language bigram", default = 'en') 
parser.add_argument("--request_type", help="request type", default = 'sum') 
parser.add_argument("--outfile", help = "path to outfile", default = 'outfile') 
parser.add_argument("--summary", help = "true or false", action = "store_true") 
parser.add_argument("--pagehits", help = "path to list of page hits", default = 'pagehits') 
parser.add_argument("--exemplar_file", help = "file to inspire book") 

args = parser.parse_args() 

input_file = args.infile 
print(args.infile) 
print(var(args)) 

with open('modified-variables', 'w') as outfile: 
    outfile.write(args.infile) 
    outfile.write('hello world') 

"/パス/に/ファイル" --langを "EN" 出力は、次のとおりです。

/path/to/file 
en 

[but nothing written to file] 

は私がすべての位置をループにそれをしたいですパラメータとグーグルは私がargnamesを印刷する方法を見つけ出す手助けされていないと、間違ったシンプルな何かが付き/書き込みconstrucであり

infile="/path/to/file" 
lang="en" 

形式の変更、変数にコマンドラインで供給されているすべての人々を書きますt。

UPDATE:得回答#1あたりの追加印刷(VARS((引数)):

{'lang': 'en', 'exemplar_file': None, 'pagehits': 'pagehits', 'summary': False, 'outfile': '/tmp/pagekicker/123/out_test', 'request_type': 'sum', 'infile': '/home/fred/pagekicker-community/scripts/seeds/revolutionary-figures'} 

は、今私はちょうど書きたい

LANG = "EN" exemplar_file = "なし"

などのファイルへ

+0

なぜ 'parse_args'を2回呼び出すのですか? – chepner

+0

これはエラーです –

答えて

1

はあなたを持っています

print(args) # the default Namespace display format 

または

print(vars(args)) 

vars(args)を試したことは、あなたが、いくつかの異なる方法で表示することができ辞書、です。それをタプルのリスト(.items())に変換することができます。keysなどを反復することができます。

関連する問題