대신glob 파일을 파이썬 스크립트의 파이썬 스크립트 입력으로 사용합니다.
cat $$dir/part* | ./testgen.py
의 나는 파일 glob에 다음 내 파이썬 스크립트의 내부 동안 ./testgen.py에 대한 표준 입력을 사용하고 싶습니다. 내가 어떻게 할까?
대신glob 파일을 파이썬 스크립트의 파이썬 스크립트 입력으로 사용합니다.
cat $$dir/part* | ./testgen.py
의 나는 파일 glob에 다음 내 파이썬 스크립트의 내부 동안 ./testgen.py에 대한 표준 입력을 사용하고 싶습니다. 내가 어떻게 할까?
당신은 쉘이 당신을 위해 그것을 할 수 있습니다 :
./testgen.py $$dir/part*
는이 프로그램에 별도의 인수로 모든 일치하는 파일 이름을 전달합니다. 그런 다음 파일 이름을 sys.argv[1:]
에서 읽습니다.
glob
및 fileinput의 조합을 사용할 수 있습니다 :
from glob import glob
import fileinput
for line in inputfile.input(glob('dir/part*')):
print line # or whatever
당신이 쉘이 그것을 확장 할 수있는 경우 만 - 그냥 inputfile.input()
를 사용하고 sys.argv[1:]
에서 입력 파일을 취할 것입니다.
셸 확장에 대해서는 정확하지만 Windows에서는 작동하지 않습니다. 다음은 간단한 완전히 방탄 크로스 플랫폼 버전입니다 :
import sys
from glob import glob
def argGlob(args=None):
if args is None: args = sys.argv
return [subglob for arg in args for subglob in glob(arg)]
argGlob
는 유닉스 스타일 쉘 확장과 정확히 같은 일을 반환합니다, 또한 이미 확장 된 것 인수의 목록을 나사하지 않습니다.