質問

の質問をhref="https://stackoverflow.com/questions/466801/python-piping-on-windows-why-does-this-not-work"> 。投票は閉じます。

Windowsのコマンドラインでこれを考えてみます。

scriptA.py | scriptB.py

scriptA.pyでます:

sys.stdout.write( "hello" )

scriptB.pyでます:

print sys.stdin.read()

これは、次のエラーを生成します:

c:\> scriptA.py | scriptB.py
close failed: [Errno 22] Invalid argument
Traceback (most recent call last):
  File "c:\scriptB.py", line 20, in <module>
    print sys.stdin.read()
IOError: [Errno 9] Bad file descriptor

「クローズに失敗しました」のメッセージがscriptA.pyの実行から来ているようです。

私はsys.stdin.read()、sys.stdin.read(1)、sys.stdin.readlines()などなどを使用する場合、それは問題ではありません。

何が問題なのですか?

の質問をhref="https://stackoverflow.com/questions/466801/python-piping-on-windows-why-does-this-not-work"> 。投票は閉じます。

役に立ちましたか?

解決

ファイルの関連付けから起動する場合には、標準入力/標準出力のリダイレクトが動作しないようです。 これは、Pythonに固有のものではないが、問題は、Win32のCMD.EXEによって引き起こされます。

を参照してください:ます。http://mail.python。 ORG / pipermail /のpython-バグリスト/ 2004-8月/ 024920.htmlする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top