반응형
어떻게 파이썬의 file.write ()가 Windows에서 Linux와 같은 줄 바꿈 형식 ( "\ r \ n"대 "\ n")을 사용하도록 할 수 있습니까?
간단한 코드가 있습니다.
f = open('out.txt','w')
f.write('line1\n')
f.write('line2')
f.close()
코드는 Windows에서 실행되고 파일 크기 12 bytes
를 제공하고 Linux는 제공합니다 11 bytes
.
리눅스에서 그것은 \n
승리를 위해\r\n
하지만 내 코드에서 새 줄을 \n
. 문제는 어떻게 파이썬이 \n
항상 새 줄을 유지 하고 운영 체제를 확인하지 않도록 할 수 있습니까 ?
당신의 파일을 열 필요가 바이너리 모드 즉 wb
대신 w
. 그렇지 않으면 줄 끝 문자가 OS 특정 문자로 자동 변환됩니다.
다음은에 대한 Python 참조에서 발췌 한 것입니다 open()
.
기본값은 텍스트 모드를 사용하는 것입니다.이 모드는 '\ n'문자를 쓰기 및 읽기시 플랫폼 별 표현으로 변환 할 수 있습니다.
여전히 textmode를 사용하고 키워드 인수 newline을 사용하여 linefeed-newline을 강제 할 수 있습니다.
f = open("./foo",'w',newline='\n')
Python 3.4.2로 테스트되었습니다.
편집 : 이것은 Python 2.7에서 작동하지 않습니다.
반응형
'developer tip' 카테고리의 다른 글
en_UK가 잘못된 로케일입니까? (0) | 2020.12.08 |
---|---|
각 iOS 버전과 함께 제공되는 모바일 사파리 버전은 무엇입니까? (0) | 2020.12.08 |
inline! important를 재정의 할 수 있습니까? (0) | 2020.12.08 |
Mac OS X에서 C ++ 프로파일 링 (0) | 2020.12.08 |
'require': 해당 파일을로드 할 수 없음 —`rails server` 실행시 'nokogiri \ nokogiri'(LoadError) (0) | 2020.12.07 |