Fix broken Korean filenames (e.g., Áö´ÉÇüÇüżҺм®±â.zip -> 지능형형태소분석기.zip)
Fixes all filenames in current directory
#!/usr/bin/python3 from os import listdir, rename from os.path import isfile, isdir, join, exists mypath = '.' onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f)) or isdir(join(mypath, f))] for f in onlyfiles: origF = f try: # iso-8859-1 is the secret... f = f.encode('iso-8859-1') #if f.decode('iso-8859-1').endswith('.doc'): # 깨짐 detection fixedFn = f.decode('euc-kr', 'ignore') print(fixedFn) if(not exists(fixedFn)): print('%s -> %s' % (origF, fixedFn)) rename(origF, fixedFn) else: print('%s -> %s (X: already exists)' % (origF, fixedFn)) except: print('Failed: %s' % origF)