преобразовать греческое имя файла в латинское в Python - PullRequest
0 голосов
/ 27 декабря 2018

Буду благодарен, если кто-нибудь сможет мне помочь с этой проблемой!У меня есть пустой файл (в реальной программе есть некоторые данные), и его имя содержит греческие буквы, например, «Σ2262.txt».Моя цель - преобразовать все греческие буквы латинского алфавита, например, греческую букву "Σ" в латинскую "S".Мой код выглядит следующим образом:

for dirpath, dirnames, filenames in os.walk(FOLDER_PATH, topdown=True):
    for name in filenames:
        if name.endswith('2262.txt'):
            old_name = name
            #new = re.sub('Σ', 'S', name)
            for char in name:
                print char
                #print grToLat.get(char)
                name = re.sub(char, grToLat.get(char), name)
            print "GrToLat: "+ name
            os.rename(os.path.join(dirpath, old_name),os.path.join(dirpath, name))

Я также создал словарь, который отображает каждую греческую букву на соответствующую латинскую букву, как показано ниже:

grToLat = {
'Α':'A', 'α':'a', 'ά':'a', 'Β':'B', 'β':'b',
'Γ':'G', 'γ':'g', 'Δ':'D', 'δ':'d', 'Ε':'E',
'έ':'e', 'ε':'e', 'Ζ':'Z', 'ζ':'z', 'Η':'H',
'η':'h', 'ή':'h', 'Θ':'U', 'θ':'u', 'Ι':'I',
'ι':'i', 'ί':'i', 'Κ':'K', 'κ':'k', 'Λ':'L',
'λ':'l', 'Μ':'M', 'μ':'m', 'Ν':'N', 'ν':'n',
'Ξ':'J', 'ξ':'j', 'Ο':'O', 'ο':'o', 'ό':'o',
'Π':'P', 'π':'p', 'Ρ':'R', 'ρ':'r', 'Σ':'S',
'ς':'s', 'σ':'s', 'Τ':'T', 'τ':'t', 'Υ':'Y',
'ύ':'y', 'υ':'y', 'Φ':'F', 'φ':'f', 'Χ':'X',
'χ':'x', 'Ψ':'C', 'ψ':'c', 'ω':'v', 'ώ':'v',
'Ω':'V'
}

, где FOLDER_PATH содержит мой файл.С помощью приведенного выше кода кажется, что греческая буква "Σ" не соответствует ни одной латинской букве.Что в этом странного, так это то, что даже если мы раскомментируем строку и попробуем ее жестко закодировать, больше ничего не случится!

new = re.sub('Σ', 'S', name)

Что я делаю не так?Я использую python2, моя операционная система Windows 10.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...