2013-05-14 3 views
1

저는 파이썬에 매우 익숙하며 일련의 디렉토리에 ansi 및 unicode (utf-16 le) 텍스트 기반 파일이 혼합되어 있습니다. 내가 텍스트 파일을 읽는 코드가 있는데, 그 코드는 유니 코드 파일에 도달 할 때까지, 나는 건너 뛸 코드에 썼다. . 나는 한 음식물의 일환으로 유니 코드 파일을 칠 때 파이썬 물건의파이썬 유니 코드 파일 확인

with codecs.open 

유형을 실행하는 얻을 수 어쨌든이 있는지 궁금하네요? 필자는 필자의 진부한 파이썬 경험을 바탕으로이 작업을 수행 할 수있는 유일한 방법은 두 개의 별도 prog를 작성하는 것입니다. 하나는 ANSI 자료를 처리하고 하나는 유니 코드를 처리합니다. 당신이

답변

1

기본적으로 유니 코드 (좋은 프로그래밍 분야)를 사용하고 필요한 경우에만 ansi로 전환하십시오.

import codecs 

def opener(filename): 
    try: 
     f = codecs.open(filename, encoding='utf-8') 
    except UnicodeError: 
     f = open(filename) 
    return f 
+0

그건 의미가 있습니다. 나는 그것을 시도 할 것이다. 많은 감사 – user2377057

0

그냥 UTF-8을 사용하여 모든 파일을 열 제공 할 수있는 모든 도움을 사전에

감사합니다.

f = codecs.open(file_name, "r", "utf-8") 
+0

감사합니다. 나는 그것을 시도하고 utf8 26449 위치에 바이트 0xac 디코딩 할 수 없습니다. – user2377057