2017-05-19 1 views
0

저는 파이썬이있는 프로젝트를 나무 딸기 파이로 작업하고 있습니다.
시간이 계속 기록되는 로그 파일이 있고 특정 시간 (온수기의 Shed 명령)에 명령이 전송됩니다.로그 파일에서 마지막 행 읽기하기

마지막 줄을 읽는 코드를 작성하려고합니다. 그 로그 파일에 넣고 창고 명령을 보낼 때 GPIO X를 끄십시오 (마지막 줄이 단지 타임 스탬프 일 때 아무것도하지 않습니다). 다른 ---- GPIO X
의 전원을 끄십시오 : 아무것도에게

을하지 않는다 나는 한 시도 - - 로그 파일을 읽어
마지막 줄 흘리는 경우 명령은
: 여기

는 명확하게하는 알고리즘입니다 메서드를 사용하지만 마지막 줄을 읽지 않으면 모든 줄을 읽고 마지막 줄에 도달하면 첫 줄로 돌아갑니다. 나는 단지 마지막 줄을 읽고 싶다.

Here is a code I tried: 
import time 
fileHandle = open ('UCM.log') 
lineList = fileHandle.readlines() 
fileHandle.close() 

while True: 
    #for line in (open(UCM.log).readlines()): 
    if " Sending Application message: Shed" in lineList[len(lineList)-1]: 
     time.sleep 
     print 'Shed!' 
+3

시도한 코드를 게시하십시오. 완전히 새로운 프로그램을 작성하는 것보다 디버그하는 것이 더 쉽습니다. (오픈 (UCM 라인 #for : 수입 시간 파일 핸들 = 개방 ('UCM.log') lineList = fileHandle.readlines() fileHandle.close() 진정한 동안 : 여기 – Darkstarone

+0

은 내가 노력 코드 .log (.log) .readlines()) : lineList [len (lineList) -1]의 "\t 보내는 응용 프로그램 메시지 : Shed"의 경우 : \t time.sleep \t 인쇄 '창고! –

+0

질문을 직접 편집하고 코드 블록에 코드를 추가하여보다 쉽게 ​​편집 할 수 있습니다. 우리가 들여 쓰기가 무엇인지 알지 못하기 때문에 아무도 코드를 사용할 수 없습니다. – Darkstarone

답변

0

명백히 문제는 파일을 마지막에서 읽는 것입니다. 다음 질문에 대한 답변을 확인할 수 있습니다. Read a file in reverse order using python

+0

' 역순으로 읽으 려하지 않습니다. 나는 마지막 줄만 읽으려고하고있다. 그리고 라인이 : "\t 보내는 응용 프로그램 메시지 : 창고"인 경우, 나는 GPIO를 끄고 싶습니다. –