2012-04-17 2 views
0

텍스트 파일에서 공백을 삭제하기위한 자이 썬 코드를 작성하려고합니다. 다음 시나리오가 있습니다. 내가텍스트 파일에서 공백을 삭제하는 자이 썬 코드

STARTBUR001 20120416 
20120416MES000000002012032200000000020120323000000000201203240000000002012032600000000020120327000000000201203280000000002012032900000000020120330000000000 


20120416MES202566 2012030500000000020120306000000000201203070000000002012030800000000020120309000000000201203100000000002012031100000000020120312000000000201203130000000002012031400000000020 


20120416MES275921 20120305000000000201203060000000002012030700000000020120308000000000201203090000000002012031000000000020120311000000000201203120000000002012031300000000020120314000000000 

END 0000000202 

같은 텍스트 파일이 여기에 모든 라인이 하나의 선이다. 는하지만 내가 원하는 것은 내가 END가 발생할 때까지 두 번째 줄에서 검사를 시작하고 각 행의 tyhe 끝에서 모든 공백을 삭제하려면 모두 그래서

STARTBUR001 20120416 
20120416MES000000002012032200000000020120323000000000201203240000000002012032600000000020120327000000000201203280000000002012032900000000020120330000000000 
20120416MES202566 2012030500000000020120306000000000201203070000000002012030800000000020120309000000000201203100000000002012031100000000020120312000000000201203130000000002012031400000000020 
20120416MES275921 20120305000000000201203060000000002012030700000000020120308000000000201203090000000002012031000000000020120311000000000201203120000000002012031300000000020120314000000000 
END 0000000202 

같다.

누군가이 코드를 작성하는 데 나를 안내 할 수 있습니까 ??

시도 같은 :

srcfile=open('d:/BUR001.txt','r') 
trgtfile=open('d:/BUR002.txt','w') 
readfile=srcfile.readline() 
while readfile: 
    trgtfile.write(readfile.replace('\s','')) 
    readfile=srcfile.readline() 
srcfile.close() 
trgtfile.close() 

감사합니다, 마헤

+0

srcfile = open ('d : /BUR001.txt', 'r') trgtfile = open ('d : /BUR002.txt', 'w') readfile = srcfile.readline() readfile : trgtfile.write (readfile.replace ('\ s', '')) readfile = srcfile.readline() srcfile.close() trgtfile.close() – Maheshgx

답변

0

당신은 그 특별한 라인이 특별한 값으로 시작한다는 사실을 사용할 수 있습니다

line = srcfile.readline() 
while line: 
    line2 = line 
    if not line2.startswith('START') and not line2.startswith('END'): 
     line2 = line2.replace(' ','') 
    trgtfile.write(line2) 
    line = srcfile.readline() 

이 또한 참고 readline() 결과 문자열의 끝 \n (또는 입력 파일의 끝에서 비어 있음)이 코드는 onl이 아닌 모든 공백을 줄에서 제거합니다 라인 끝에있는 것.

나는 당신의 예를 이해하면 당신이 원하는 모든 빈 줄을 제거하는 것입니다, 그래서 대신 라인으로 파일 라인을 읽기는 한 번에 읽어 : 다음

content = srcfile.read() 

과 내용에서 빈 줄을 제거 :

while '\n\n' in content: 
    content = content.replace('\n\n', '\n') 
+0

감사합니다. Michal .. :) – Maheshgx