Python Day10:另一个小练习

来源:互联网 发布:java抢红包总额 编辑:程序博客网 时间:2024/04/29 01:47
在做汉化任务的过程中遇到了大批量地名汉化的问题。
我需要从
VICTORY_POINTS_10765:0 "Hermosillo"VICTORY_POINTS_4977:0 "Navojoa"VICTORY_POINTS_1945:0 "Los Mochis"VICTORY_POINTS_8057:0 "Culiacan"VICTORY_POINTS_10830:0 "Chihuahua"VICTORY_POINTS_8003:0 "Torreon"
中提取出引号内的部分,然后将其翻译为中文,然后再将其替换
我对于调用api在网上翻译一步到位比较不能实现,所以先提取出了所有的引号内的内容,
然后手动在网上翻译了,然后再将其另存为txt文件,最后一次将其替换,
具体操作如下:
import rea=open("G:\\a.txt",'r')a_new=open("G:\\a_new.txt",'w')#新建一个txt文件,以write形式打开,会覆盖掉原有内容for line in a:    m = re.findall('"([^"]+)"', line)#取出每一行中的引号内的内容    new_line=''.join(m)#m为list格式,将其转化为str    a_new.write(new_line+'\n')#将每一个地名按行存入新文件中a.close()a_new.close()
然后是在google翻译里将每一个词翻译出,再另存为a_new3.txt文件
最后:
import rea=open("G:\\a.txt",'r')b=open("G:\\a_new3.txt",'r')d=open("G:\\a_new4.txt",'w')f=[]c=b.readlines()#不能直接对b操作for line in a:    m = re.findall('"([^"]+)"', line)#提取出原字符    if isinstance(c,list):        line2=c[0].strip()#提取出的格式有问题,自带\n,使用strip()去除换行符    else:        line2=c#只剩str则全赋给line2    new_line=''.join(m)    line=line.replace(new_line,line2)#将每一句里的地名替换为翻译    f.append(line)#将产生的新句子添加到f列表中,以便查看    d.write(line)#利用write函数直接写入新文件中    if isinstance(c,list):#将c列表的第一行删除,以便进行下一句的添加        del(c[0])a.close()b.close()d.close()#更新文件内容
没有学好对网站的操作,不然会更简单,快捷,


原创粉丝点击