2016-10-06 4 views
0

Windows 장치에서 .txt 파일로 작업 할 때 ANSI, 유니 코드, 유니 코드 빅 엔디안 또는 UTF-8로 저장해야합니다. 내가 .txt 파일을 인코딩하는 데 사용해야하는 특정 형식이 있는가Python3에서 파일을 열 때 인코딩 매개 변수를 피하는 방법

with open('ships.txt', 'r', encoding='utf-8') as f: 
    for line in f.readlines(): 
     print(line) 

: 내가 OSX 장치에 Python3를 실행하고 가져 .txt 파일을 읽을 때, 나는의 라인을 따라 뭔가를해야 파이썬에서 파일을 열 때 인코딩 매개 변수를 추가하지 않으려면 Windows 장치에서?

+0

인코딩 추측기를 사용하거나 읽을 파일에 BOM을 추가 할 수 있습니다. –

+0

@Ni. BOM을 추가해도 도움이되지 않습니다. 'open'은 인코딩 검출에 그들을 사용하지 않습니다. –

+0

어제 @Mark Tolonen 어쨌든'encodings' 라이브러리는 BOM을 사용하는 개방형 함수를 가지고 있다고 생각합니다. –

답변

0

OSX 기기의 locale.getpreferredencoding(False)으로 전화하십시오. 해당 장치에서 파일을 읽는 데 사용되는 기본 인코딩입니다. Windows에서 해당 인코딩을 저장하면 OSX 장치에서 인코딩을 지정할 필요가 없습니다.

그러나 Zen of Python은 "명시 적으로는 암시 적"보다 낫다고 말합니다. 인코딩을 알고 있으므로 지정하지 않으시겠습니까?

관련 문제