파이썬에서 tr '\ n' ''을 사용하여 배쉬에서 문제가없는 간단한 구문 분석을 수행하려고합니다. 기본적으로 한 줄에 모든 줄을 가져옵니다. 파이썬 인쇄 라인에서 내가 이해하는 것과는 조금 다릅니다. re.sub는 출력에 인쇄 할 때 존재하지 않기 때문에 새 줄을 찾을 수 없습니다. 누군가가이 문제를 파이썬에서 어떻게 해결할 수 있는지 설명 할 수 있습니까?줄을 읽을 때 파이썬에서 줄 바꿈 바꾸기
# -*- iso-8859-1 -*-
import re
def proc():
f= open('out.txt', 'r')
lines=f.readlines()
for line in lines:
line = line.strip()
if '[' in line:
line_1 = line
line_1_split = line_1.split(' ')[0]
line_2 = re.sub(r'\n',r' ', line_1_split)
print line_2
proc()
편집 :
여기에 지금까지 내 코드 나는 "인쇄 라인"줄 바꿈없이 인쇄 할 것이라는 점을 알고있다. 문제는이 작업을 줄 단위로 처리하기 전후에 모두 처리해야한다는 것입니다. 셸의 코드는 sed, awk 및 tr을 사용하여이 작업을 수행합니다.
'line.strip는()'은'\의 n' 포함 _all_ 선도 및 후행 공백을 제거합니다. BTW, 라인 단위로 처리하고 싶다면 전체 파일을'readlines'를 가진리스트로 읽어 들이고리스트를 반복하는 것보다는'for line in f :'를하는 것이 더 낫습니다. –
'print'는 출력의 끝에 개행을 추가합니다. http://stackoverflow.com/q/493386/2800918 – CAB
@CAB 의미를 찾으십시오 – badner