私はC/C++のpythonにはまったく新しいので、私は 'main.py'を使ってbashシェルから与えられたimputを再変換/使用する方法を知りました:Pythonのコマンドライン 'file input stream'
のpython main.py < TEXT.TXT
sys.stdin
から
私はC/C++のpythonにはまったく新しいので、私は 'main.py'を使ってbashシェルから与えられたimputを再変換/使用する方法を知りました:Pythonのコマンドライン 'file input stream'
のpython main.py < TEXT.TXT
sys.stdin
から
私は、ファイルのパスを受け取り、それを開くオプションパーサーを作成するために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'
が十分な制御を提供しない場合、bufsize
とmode
引数(http://docs.python.org/dev/library/argparse.html#typeを参照)
EDIT受け付けるargparse.FileType('o')
に置き換えることができます:私の間違いを。これはではなく、のユースケースをサポートします。これにより、ファイルパスを指定できますが、ファイルの内容はプロセスにパイプされません。私はこの答えをここに残しておきますが、これは代替として有用かもしれません。
読む(ファイルはプレーンテキストである):
import sys
sys.stdin.read()
file-like objectなので、あなたはその読み取り機能を使用するか、単に入力行を反復処理することができます。
for line in sys.stdin:
print line
ここではfileinput
モジュールの使用が最も適しており、より柔軟です。標準入力のサポートに加えて
http://docs.python.org/library/fileinput.html
import fileinput
for line in fileinput.input():
process(line)
、それはまた、引数としてリストされたファイルから読み込むことができます。
です。私はそれを聞いていなかった。ニース。 –
@walter use 'line = line.rstrip()' +1これは – Keith