用Python实现阿拉伯文本的快速音译

2024-06-12 04:32:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我总是处理阿拉伯语文本文件,为了避免编码问题,我按照巴克沃尔特的方案(http://www.qamus.org/transliteration.htm)将阿拉伯语字符翻译成英语

这是我的代码,但即使是像400kb这样的小文件也很慢。想快点吗?

谢谢

     def transliterate(file):
          data = open(file).read()
          buckArab = {"'":"ء", "|":"آ", "?":"أ", "&":"ؤ", "<":"إ", "}":"ئ", "A":"ا", "b":"ب", "p":"ة", "t":"ت", "v":"ث", "g":"ج", "H":"ح", "x":"خ", "d":"د", "*":"ذ", "r":"ر", "z":"ز", "s":"س", "$":"ش", "S":"ص", "D":"ض", "T":"ط", "Z":"ظ", "E":"ع", "G":"غ", "_":"ـ", "f":"ف", "q":"ق", "k":"ك", "l":"ل", "m":"م", "n":"ن", "h":"ه", "w":"و", "Y":"ى", "y":"ي", "F":"ً", "N":"ٌ", "K":"ٍ", "~":"ّ", "o":"ْ", "u":"ُ", "a":"َ", "i":"ِ"}    
          for char in data: 
               for k, v in arabBuck.iteritems():
                     data = data.replace(k,v)                 
      return data

Tags: 代码inorghttp编码fordatawww