2013-12-20 1 views
-1

나는 권장 GPS 좌표로 이동하는 자율 차량 프로젝트를하고있다. 새 목록을 만들고 해당 목록에 프로그램의 출력 값을 입력하려면 어떻게해야합니까? 내 프로그램은 다음과 같습니다. 줄 번호 $ GPRMC가있는 줄 번호를 얻습니다. 줄 번호를 목록에 저장하고 그 줄을 추가로 조작하고 싶습니다.
파이썬에서 새 목록으로 출력 값 보내기

f=open('c:\Users\RuthvikWalia\Desktop\gpsdata.txt ','r') 
req_lines=0 
for line in f: 
    if(line.find('$GPRMC') >=0): 
    print 'its here', req_lines 
req_lines += 1 
p=[] 
p= p.append(req_lines) 
print p 

나는 $ GPRMC하지만 그 라인의 번호 목록을 라인의 숫자의 출력을 얻을.

+0

을 감안할를 코드를 게시하면'p = [1]'로 끝나야합니다. 당신의 들여 쓰기가 엉망이 됐을 것 같습니다. 두 경우 모두 목록에'line'을 추가하지 않을 것입니다. 그래서 일치하는 줄이 있다면 결국 일치하는 줄의 목록으로 끝나기를 기대해서는 안됩니다 ... – twalberg

답변

2

@Claudiu의 대답은 정말 좋아 파이썬의 작은 맛을주고, 올바른 수행하십시오

[(idx,line) for idx,line in enumerate(open('gpsdata.txt')) if '$GPRMC' in line] 
+0

오 예, 그럴 수는 없습니다. 하나. 물론 열거 형을 사용한다면 내 것과 같은 출력을 줄 수 있습니다. – Claudiu

+0

@Claudiu 님이 단지 열거 형을 추가했습니다 :) –

3

이 목록 req_lines(line_number, line_string)의 튜플을 넣어 것,

f = open('c:\Users\RuthvikWalia\Desktop\gpsdata.txt ','r') 
req_lines = [] 
for i, line in enumerate(f): 
    if "$GPRMC" in line: 
     req_lines.append((i, line)) 
print req_lines 
관련 문제