使用Python翻译西里尔文件名

时间:2017-03-22 18:21:47

标签: python

我有很多文件,使用西里尔字母命名。为了解决这个问题,我做了一个音译功能,看起来像这样:

def transliterate(input):
    mapping = { \
        'А' : 'A', \
        'Б' : 'B', \
        'В' : 'V', \
    .....
    }
    for c in input:
        if c in mapping:
            input = input.replace(c, mapping[c])

    return input

从视觉上看,此功能效果很好。我将生成的文件名写入Postgre数据库,这就是我在那里看到的:

enter image description here

如你所见,我不再有任何西里尔字母。然而,当我在我的Python代码中使用这些文件名创建子进程命令时,我得到了非常奇怪的错误:

enter image description here

你看,即使在屏幕上它看起来像一个普通的文件名79-A.tif,但是使用这个文件的工具会以某种奇怪的方式解释这个名字(我用红色标记它)。但是,如果我只是手动输入名称,那么它可以工作。那么,这有什么问题,我该如何解决?谢谢!

0 个答案:

没有答案