前段时间做公司一个自动翻译项目需要处理大量的文案字段,手工去做简直不大可能(懒),因此借用python脚本自动化处理掉了,在此记录一下。
import linecache def outputfile(i,j,n): # zh = file_zh.read().decode('utf-8').encode('gbk', 'ignore') file_new = open ('1.txt', 'r+') for l in range(i,j+1): # line = linecache.getline('tw.txt', l).decode('utf-8').encode('gbk', 'ignore') line1 = str(linecache.getline('zh.txt', l)[0:-1]).strip() line2 = str(linecache.getline('tw.txt', l+n)[0:-1]).strip() if(len(str(line1[0:-1]))==0): continue file_new.write('msgid "'+ line1 +'"\n') file_new.write('msgstr "'+ line2 +'"\n\n') file_new.close() outputfile(1,25,3)
生成效果:
# 这些是测试字段 msgid "Hello world!" msgstr "世界你好!" msgid "Python is a good Language." msgstr "Python 是门好语言." msgid "中国" msgstr "中國" msgid "测试啊" msgstr "測試呢!!!" msgid "Hello %(useraaa)s!" msgstr "你好 %(useraaa)s!"
代码非常简单,过程为从两个不同文件里一行一行地读取字符,再按照一定格式一行一行地输出到新文件中,需要注意的是,txt文件需要保存为UTF-8编码格式,否则需要转码,有点麻烦~