2013-04-05 4 views
0

나는 파이썬 스크립트가 리눅스에서 (또한 자동 실행으로) 실행 중인데, 출력이 충분합니다! 프로그램이 이미 실행 중일 때 어떻게이 출력을 읽을 수 있습니까?리눅스 파이썬 실행중인 파이썬 스크립트에서 출력 읽기

아마도 모든 출력을 파일에 기록 할 수 있지만 새로운 출력이 기록 될 때마다 파일을 열고 새로 고쳐야 할 수도 있습니다! 이 셸에서 질문의 두 번째 단락에 올 때

답변

2

파이썬 쪽에서 꼬리를 구현하는 것도 가능합니다. 기본적으로 파이썬을 계속 읽는 것입니다. 이 일을하는 코드는 여기에서 찾을 수 있습니다 :

http://code.activestate.com/recipes/157035-tail-f-in-python/

또한, 대신 당신이 지속적으로 출력 할 수있는 기입 방법을 쓰는 파일의 추가 모드를 사용하는 경우.

또한 Scrapy는 많은 기능을 허용하는 파이프 라인 개념을 사용합니다. 다음과 같은 일을하기 위해 사용할 수있는 일부 치료 코드의 예가 있습니다 :

class JsonWriterPipeline(object): 
    def __init__(self): 
     self.file = (open(filepath, 'a')) 
    def process_item(self, item, spider): 
     self.file.write(json.dumps(dict(item)) + '\n') 
     return item 
3

글쎄, 당신은 할 수 있습니다 : 파일이 업데이트 될 때를 automaticly 갱신

tail -f logfile.log 

을, 작업 솔루션의 리눅스 있도록.

+1

+1. [multitail] (http://www.vanheusden.com/multitail/) (여러 파일을 와일드 카드로보기, 개별적으로 병합, 병합, 필터링 및 색칠하기 등), ['glogg'] (http://glogg.bonnefon.org) (멋진 GUI 창에서 파일을보기 위해) 등등. 이미 존재할 때 무언가를 직접 만들 이유가 없습니다. – abarnert