2009-08-03 3 views
21

os.write 함수는 파일 설명자 (파일 객체 아님)에 바이트를 쓰는 데 사용할 수 있습니다. os.write(fd, '\n')을 실행하면 Windows에서도 LF 문자 만 파일에 기록됩니다. Windows에서 파일에 CRLF를, Linux에서 LF 만 갖고 싶습니다.
이것을 달성하는 가장 좋은 방법은 무엇입니까?파이썬에서 파일 설명자에 원시 개행 문자를 쓰는 방법은 무엇입니까?

저는 파이썬 2.6을 사용하고 있습니다. 파이썬 3에 다른 해결책이 있는지 궁금합니다.

+0

'os.write'는 첫 번째 인수로 FD를 필요로합니다. 그리고 파이썬 3은 본질적으로 다르지 않습니다 (파이썬 3에서 유니 코드 인 텍스트가 아니라 바이트 테스트를 원한다는 것을 제외하고 - 모든 호출에서). –

+0

네가 맞아, 고마워! – hcs42

답변

46

사용이

import os 
os.write(fd, os.linesep) 
8

방법에 대한 os.write(<file descriptor>, os.linesep)? (import os은 이미 가져온 것으로 보이기 때문에 불필요합니다. 그렇지 않으면 os.write을 사용하여 오류가 발생합니다.)

관련 문제