因为自己前天玩Arduino时copy了外国佬的代码,可以啊,没好好读书,英语贼烂(比我入Python坑前好多了),然后不知道从哪冒出来的想法:我不是会Python么,为毛不写一个自动翻译的脚本。好吧,说这就干吧,可惜直到今天才开始动手,昨天玩Arduino去了,加上下午写了一个网易有道翻译的爬虫,刚好用到我的想法里
我分析下思路吧,其实也很简单,当然小白肯定是有点烦躁
1:首先用Python打开文件
2:然后用readlines把读取的内容保存到两个变量里,为啥是两个,因为我自己为了保险,怕在替换的时候出差错。。。
3:把读取的每行内容用re匹配看看是否有“#”这样的字符,如果有就用字符串处理方法split("#")来分割成两部分
4:把注释传递给写好了的有道翻译脚本里翻译-返回结果,然后替换读取到的readlines变量
5:保存文件
我先打开一个文件,然后读取它
f = open ("test.py", "r")
lines = f.readlines
然后是最核心的代码,其实也很简单。。。。
导入有道翻译的那个脚本:
from YouDao import Translate
定义要用到的变量:
num = int()
mid = "#"
然后正式代码:
for line in lines: s = re.findall ("#", line, re.S) if s == []: pass # 至于为什么不用continue等会就知道了 elif: head = line.split ("#")[0] tail = line.split ("#")[-1] # 得到注释后的内容 tail = Translate.crawler (tail) # 翻译后返回的结果重新赋值给tail content = head + mid + tail # 重新组合成一行内容 linds[num] = content # 替换列表内容 num += 1
然后用for把内容重新写入文件即可
来几张图吧,,,
翻译之前 翻译之前 翻译之前上面三张图都是翻译之前
接下来看看翻译后:
翻译之后 翻译之后 翻译之后这三张也就是翻译后的截图,我不是没电脑,是23点就关了。。。不想再打开
最后附上代码链接我的GitHub
网友评论