파이썬으로 파일을 읽어들일 때 각 줄의 맨 끝에 있는 newline(/n)을 제거하는 방법에 대해서

생각나는 것만 정리해봅니다 :)



실험에 사용된 textfile은 아래와 같아요. 


일단 읽어들여서 출력하는 소스는 아래와 같이 작성할 수 있습니다.

 

+ 소스는 여기에 +


작동시켜보면 아래와 같이 출력됩니다.

이유는 파일 각 라인의 맨 끝에 newline이 들어가 있기 때문입니다 :)

이걸 삭제하는 방법은 여러 가지가 있습니다. 구글에 쳐보면 참 많이 나와있구요. 


여기서는 그냥 기록용으로 2개만..


첫 번째 방법은 각 라인에서 -1까지 자르는 것입니다. 

아래 line 5를 보면 i[:-1]를 통해 각 라인의 첫 번째 부터 -1 까지만 출력하라고 했습니다.


결과는 아래와 같구요.


2번째 방법은 splitlines() 함수를 활용하는 것입니다. 

splitlines() 함수는 리눅스, 윈도우, 맥에서 사용하는 newline 에 대해서 문자열을 잘라 list로 반환합니다. 


자세한 내용은 아래 url을 참고하셔요 :)

https://docs.python.org/2/library/stdtypes.html#str.splitlines

https://docs.python.org/2/glossary.html#term-universal-newlines


그래서 적용해보면 아래와 같고 결과는 위 그림과 동일해서 생략.


첫 번째 방법은 아마도 제 생각인데, 윈도우에서 만들어진 txt 파일에 대해서는 작동하지 않을 것 같네요.

실험은 다음 번에 ^^

하지만 두 번째 방법은 윈도우나 맥이나, 리눅스 어디서든 만들어진 파일에 대해서 동일하게 작동할 수 있을 것 같아요.

그래서 결론은 2번째 방법으로 !! newline을 제거하는 것이 바람직한 것 같습니다. 




+ Recent posts