0
Pythonでcomm
コマンドのような追加ファイルストリームにアクセスするにはどうすればよいですか?PythonでUnixシェルの追加ファイルストリームにアクセスするには?
comm -23 <(sort -n Asub|uniq) <(sort -n A|uniq)
私はsys.stdin
経由で標準入力にアクセスできることを知っているが、他の入力ストリームにアクセスする方法?
Pythonでcomm
コマンドのような追加ファイルストリームにアクセスするにはどうすればよいですか?PythonでUnixシェルの追加ファイルストリームにアクセスするには?
comm -23 <(sort -n Asub|uniq) <(sort -n A|uniq)
私はsys.stdin
経由で標準入力にアクセスできることを知っているが、他の入力ストリームにアクセスする方法?
私は実際に<()
の動作を理解していなかったので、この質問をお寄せいただきありがとうございます。しかし、実際には、サブコマンドの情報をパイプして、そのファイル記述子の名前を返す一時的な仮想ファイル記述子を作成します。あなたの質問に答えるために、
|'thing.py'|
|'/proc/self/fd/11'|
|'/proc/self/fd/12'|
だから、最終的に:それはpython3 thing.py <(cat a.txt) <(cat b.txt)
のように呼び出されたとき
import sys
for arg in sys.argv:
print('|{}|'.format(repr(arg)))
が、あなたは出力のようなものがあることがわかります。私が何を意味するかを確認するには、このPythonプログラムを見てそのサブプロセスからデータを読み取るために必要な作業は、他のファイルと同じようにそのファイル記述子を開くだけです。たとえば、次のように
のように私に出力を与えるwith open(sys.argv[1]) as f:
for line in f:
print(line.strip())
:助け
A
B
C
(A.TXTのマッチング内容)
願っています!