2011-06-20 10 views

答えて

2

私は、ファイルのパスを受け取り、それを開くオプションパーサーを作成するためにargparseを使用します。

import argparse 

def main(): 
    parser = argparse.ArgumentParser() 
    parser.add_argument('infile', type='open') 
    args = parser.parse_args() 

    for line in args.infile: 
     print line 

if __name__ == '__main__': 
    main() 

type='open'が十分な制御を提供しない場合、bufsizemode引数(http://docs.python.org/dev/library/argparse.html#typeを参照)

EDIT受け付けるargparse.FileType('o')に置き換えることができます:私の間違いを。これはではなく、のユースケースをサポートします。これにより、ファイルパスを指定できますが、ファイルの内容はプロセスにパイプされません。私はこの答えをここに残しておきますが、これは代替として有用かもしれません。

8

読む(ファイルはプレーンテキストである):

import sys 
sys.stdin.read() 

file-like objectなので、あなたはその読み取り機能を使用するか、単に入力行を反復処理することができます。

for line in sys.stdin: 
    print line 
+0

@walter use 'line = line.rstrip()' +1これは – Keith

6

ここではfileinputモジュールの使用が最も適しており、より柔軟です。標準入力のサポートに加えて

http://docs.python.org/library/fileinput.html

import fileinput 
for line in fileinput.input(): 
    process(line) 

、それはまた、引数としてリストされたファイルから読み込むことができます。

+0

です。私はそれを聞いていなかった。ニース。 –

関連する問題