0
파이썬에서 comm
명령과 같은 추가 파일 스트림에 어떻게 액세스합니까? 파이썬에서 유닉스 쉘의 추가 파일 스트림에 접근하는 방법은?
comm -23 <(sort -n Asub|uniq) <(sort -n A|uniq)
은 내가
sys.stdin
를 통해 표준 입력에 액세스 할 수 있는지 알고 있지만, 어떻게 다른 입력 스트림에 액세스 할 수?
파이썬에서 comm
명령과 같은 추가 파일 스트림에 어떻게 액세스합니까? 파이썬에서 유닉스 쉘의 추가 파일 스트림에 접근하는 방법은?
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)))
, 당신은 출력이 같은임을 표시되어야합니다 무슨 뜻인지 확인하려면이 파이썬 프로그램을보고 해당 하위 프로세스에서 데이터를 읽으려면 다른 파일처럼 해당 파일 설명자를 열면됩니다. 예를 들면 :
처럼 나에게 출력을 제공with open(sys.argv[1]) as f:
for line in f:
print(line.strip())
: 도움이
A
B
C
(a.txt이의 일치 내용)
희망!