2016-11-15 3 views

답변

1

실제로이 질문은 <()의 행동을 이해하지 못해서 고마워요. 그러나 일부 파기 후에는 실제로 하위 명령의 정보를 파이프하는 임시 가상 파일 설명자를 생성 한 다음 해당 파일 설명 자의 이름을 반환합니다. 귀하의 질문에 대답하기 위해,

|'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))) 

, 당신은 출력이 같은임을 표시되어야합니다 무슨 뜻인지 확인하려면이 파이썬 프로그램을보고 해당 하위 프로세스에서 데이터를 읽으려면 다른 파일처럼 해당 파일 설명자를 열면됩니다. 예를 들면 :

처럼 나에게 출력을 제공
with open(sys.argv[1]) as f:                   
    for line in f:                      
     print(line.strip()) 

: 도움이

A 
B 
C 

(a.txt이의 일치 내용)

희망!

관련 문제