0

Python 2.7のプログラムがあり、リダイレクトされた入力を使用してWindowsXPのコマンドプロンプトで実行できないようです。私は次のようなことをしようとしています:

C:\>python foo.py < input.txt

しかし、何も機能しません。python.exeへの明示的な呼び出しを省略して、<&バリエーションを使用してみました。配管のバリエーションも試しましたが、うまくいかないようです。

コマンドプロンプトからPythonプログラムを実行し、引数入力を適切に解析できます。問題は、これらの引数の1つを単純な.txtファイルから入力できないことです。

前もって感謝します。

4

1 に答える 1

0

問題は、コマンドラインからの実行方法ではなく、スクリプトでargparseを設定する方法にあります。あなたは間違いなくファイルをstdinに正しくリダイレ​​クトしています。

input.txt

foo

foo.py

import argparse, sys

parser = argparse.ArgumentParser()
parser.add_argument('infile', nargs='?', 
                    type=argparse.FileType('r'), 
                    default=sys.stdin)

opts = parser.parse_args()

print opts.infile.read()

出力

C:\> python foo.py < input.txt
foo
于 2012-08-24T17:58:20.717 に答える