맥 윈도우 파일명 깨짐 한글 자모 분리 현상 python 해결 방안

맥 윈도우 파일명 한글 깨짐, 한글 자음, 모음 분리 현상 python으로 해결

 

맥 사용자에게 파일을 받았거나, 

맥 사용자가 구글 드라이브에 올린 파일을 받게 되면 

한글이 깨졌다기 보단

한글의 자음 모음이 분리되는 현상이 발생한다. 

이는 맥은 nfd를 윈도우는 nfc형식을 사용하는데

한글.txt 가 ㅎㅏㄴㄱㅡㄹ.txt로 나옴.

 

현재 다른 방법은 없는 것 같고 간단히 jupyter notebook으로 파이썬으로 코드 만들어서 해결.

 

다음은 지정해준 경로에서 하위 폴더를 탐색하며 폴더이름과 폴더에 들어있는 파일의 이름을

모두 탐색하며 NFC 형태로 바꿔준다.

 


import sys
from unicodedata import normalize
import os

def change_nfc_all_dir(dirname):
    filenames = os.listdir(dirname)
    for filename in filenames:
        before_filename = os.path.join(dirname, filename)
        after_filename = normalize('NFC', before_filename)
        os.rename(before_filename, after_filename)

        if os.path.isdir(before_filename):    
            change_nfc_all_dir(before_filename)

change_nfc_all_dir("c:/.../.../")

 

그냥 폴더를 쭉 탐색하며 normalize('NFC', filename) 으로 형식을 변환해주고

os.rename(변경전 파일명, 변경후 파일명)으로 파일명을 변경해준다.

하위 폴더가 있으면 재귀적으로 다시 해당 폴더를 탐색하도록 하여 

지정해준 경로 밑에 모든 폴더와 파일의 이름을 바꿔준다. 

특정한 형식의 파일(예: jpg, xls, pdf 등)을 변경하고 싶을 때는 glob사용.

끝!

댓글()