添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

因为我英文不好,对接口、函数、结构体起名字的时候特别为难,因此我使用Python写了一个工具
在输入框输入中文,就可以生成Golang语言对应的接口、函数或接口体的写法;也可以切换到英文翻译。如下演示:

看懂代码之后,就可以修改为其它语言对应的写法。这里使用到百度的翻译API,因此自己要替换掉下面的两个key值就直接可以用了。
Baidufanyi 类用于中英文翻译;
Initface 类用于创建窗口,之后调用第一个Frame,这里为了能切换不同页面,使用两个Frame作为两个页面
OneFace 类是第一个页面,init函数用于初始化页面,faceUI方法用于显示控件和逻辑控制,并使用了grid布局,oneBack方法用于销毁本页面并切换到另一个页面
TwoFace 类和第一个页面用法一致,页面使用了pack布局

# 翻译.py
import tkinter
import requests
import hashlib
import pyperclip
import time
class Baidufanyi:
    def __init__(self, appid="百度API的应用ID", key="百度API的key"):
        self.appid = appid
        self.key = key
        self.salt = "1435660288"
    def getEnglish(self, srcdata):
        q = srcdata
        froms = "&from=zh"
        tos = "&to=en"
        sign = self.appid+q+self.salt+self.key
        sign = "&sign="+hashlib.md5(sign.encode(encoding='utf-8')).hexdigest()
        url = "http://api.fanyi.baidu.com/api/trans/vip/translate?"+"q="+q + \
            froms+tos+"&appid="+self.appid+"&salt="+self.salt+sign
        result = requests.get(url)
        en_resu = eval(result.text)
        return en_resu["trans_result"][0]["dst"]
    def getChina(self, srcdata):
        q = srcdata
        froms = "&from=en"
        tos = "&to=zh"
        sign = self.appid+q+self.salt+self.key
        sign = "&sign="+hashlib.md5(sign.encode(encoding='utf-8')).hexdigest()
        url = "http://api.fanyi.baidu.com/api/trans/vip/translate?"+"q="+q + \
            froms+tos+"&appid="+self.appid+"&salt="+self.salt+sign
        result = requests.get(url)
        en_resu = eval(result.text)
        return en_resu["trans_result"][0]["dst"]
fanyi = Baidufanyi()
class Initface:
    def __init__(self, windows):
        self.windows = windows
        self.windows.title("Golang翻译")
        self.windows.iconbitmap('D:/Python代码/Python的py转exe/mingyu.ico')
        self.windows.geometry('610x300')  # 设置窗口大小
        self.windows.configure(background='#87CEFF')
        OneFace(self.windows)  # 默认打开第一个页面
# 第一个页面
class OneFace:
    def __init__(self, oneWindows):
        self.oneWindows = oneWindows
        self.oneface = tkinter.Frame(self.oneWindows)
        self.oneface.configure(background='#87CEFF')
        self.oneface.grid()
        self.faceUI()
	# 使用了grid布局,显示控件,里面的函数用于逻辑处理
    def faceUI(self):
        # 获取翻译结果并写入到大文本框
        def getEn():
            text.delete("0.0", "end")  # 删除大文本框的内容
            srcdata = getTextInput(text_0).replace(
                '\n', '').replace(' ', '')
            if srcdata == "":
                return
            data = fanyi.getEnglish(srcdata)
            text.insert("0.0", data)
        # 获取翻译结果并写入到大文本框
        def getInterface():
            text.delete("0.0", "end")  # 删除大文本框的内容
            srcdata = getTextInput(text_1).replace(
                '\n', '').replace(' ', '')
            if srcdata == "":
                return
            data = fanyi.getEnglish(srcdata).replace(
                ' ', '').replace('?', '').replace('\'', '')
            data = "// " + srcdata + "接口\ntype " + \
                data + "er" + " interface{\n\t\n}"
            text.insert("0.0", data)
        # 获取翻译结果并写入到大文本框
        def getStruct():
            text.delete("0.0", "end")  # 删除大文本框的内容
            srcdata = getTextInput(text_2).replace(
                '\n', '').replace(' ', '')
            if srcdata == "":
                return
            data = fanyi.getEnglish(srcdata).replace(
                ' ', '').replace('\'', '').replace('?', '')
            data = "// " + srcdata + "结构体\ntype " + \
                data.capitalize() + " struct{\n\t\n}"
            text.insert("0.0", data)
        # 获取翻译结果并写入到大文本框
        def getFunc():
            text.delete("0.0", "end")  # 删除大文本框的内容
            srcdata = getTextInput(text_3).replace(
                '\n', '').replace(' ', '')
            if srcdata == "":
                return
            data = fanyi.getEnglish(srcdata).replace(
                ' ', '').replace('?', '').replace('\'', '')
            data = "// " + srcdata + "函数\nfunc " + \
                data.capitalize() + "(  ) (err error) " + "{\n\t\n}"
            text.insert("0.0", data)
        def CopyData():
            pyperclip.copy(text.get("0.0", "end"))
            nowtime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
            tishistr.set('已复制\n' + nowtime)
        # 根据多行文本的变量名获取里面的值,textname:多行文本的变量名
        def getTextInput(textname):
            return textname.get("1.0", "end")
        oneBtn_1 = tkinter.Button(
            self.oneface, text="切换到中文翻译", bg="#32CD32", command=self.oneBack)
        oneBtn_1.grid(row="0", column="2")
        china0 = tkinter.Label(
            self.oneface, text="输入中文普通翻译:", bg='#87CEFF', font=("微软雅黑", 13))
        china0.grid(row="1", column="1")
        text_0 = tkinter.Text(self.oneface, width="30",
                              height="2", bg='#FFBBFF')
        text_0.grid(row="1", column="2")
        btn_0 = tkinter.Button(
            self.oneface, text="点击翻译", command=getEn, bg="#696969")
        btn_0.grid(row="1", column="3")
        china1 = tkinter.Label(
            self.oneface, text="输入中文获取接口:", bg='#87CEFF', font=("微软雅黑", 13))
        china1.grid(row="2", column="1")
        text_1 = tkinter.Text(self.oneface, width="30",
                              height="2", bg='#FFBBFF')
        text_1.grid(row="2", column="2")
        btn_1 = tkinter.Button(
            self.oneface, text="点击翻译", command=getInterface, bg="#696969")
        btn_1.grid(row="2", column="3")
        china2 = tkinter.Label(
            self.oneface, text="输入中文获取结构体:", bg='#87CEFF', font=("微软雅黑", 13))
        china2.grid(row="3", column="1")
        text_2 = tkinter.Text(self.oneface, width="30",
                              height="2", bg='#FFBBFF')
        text_2.grid(row="3", column="2")
        btn_2 = tkinter.Button(
            self.oneface, text="点击翻译", command=getStruct, bg="#B4EEB4")
        btn_2.grid(row="3", column="3")
        china3 = tkinter.Label(
            self.oneface, text="输入中文获取函数:", bg='#87CEFF', font=("微软雅黑", 13))
        china3.grid(row="4", column="1")
        text_3 = tkinter.Text(self.oneface, width="30",
                              height="2", bg='#FFBBFF')
        text_3.grid(row="4", column="2")
        btn_3 = tkinter.Button(
            self.oneface, text="点击翻译", command=getFunc, bg="#AB82FF")
        btn_3.grid(row="4", column="3")
        # 多行文本输入框
        tishistr = tkinter.StringVar()
        tishi = tkinter.Label(
            self.oneface, textvariable=tishistr, bg='#87CEFF', font=("微软雅黑", 10))
        tishi.grid(row="5", column="1")
        text = tkinter.Text(self.oneface, width="40",
                            height=8, bg='#FF83FA')
        text.grid(row="5", column="2")
        btn_4 = tkinter.Button(
            self.oneface, text="复制译文", command=CopyData, bg="#FF6A6A")
        btn_4.grid(row="5", column="3")
    def oneBack(self):
        self.oneface.destroy()
        TwoFace(self.oneWindows)
# 第二个页面
class TwoFace():
    def __init__(self, twoWindows):
        self.twoWindows = twoWindows
        self.twoface = tkinter.Frame(self.twoWindows)
        self.twoface.config(bg='#87CEFF')
        self.twoface.pack()
        self.faceUI()
	# 使用了pack布局,显示控件
    def faceUI(self):
        # 根据多行文本的变量名获取里面的值,textname:多行文本的变量名
        def getTextInput(textname):
            return textname.get("1.0", "end")
        def getCh():
            twoText_2.delete("0.0", "end")  # 删除大文本框的内容
            srcdata = getTextInput(twoText_0).replace(
                '\n', '').replace(' ', '')
            if srcdata == "":
                return
            data = fanyi.getChina(srcdata)
            twoText_2.insert("0.0", data)
        twoBtn_1 = tkinter.Button(
            self.twoface, text="切换到英文翻译", bg="#32CD32", command=self.twoBack)
        twoBtn_1.pack()
        twoText_0 = tkinter.Text(
            self.twoface, width="50", height="8", bg='#FF83FA')
        twoText_0.pack()
        twoBtn_0 = tkinter.Button(
            self.twoface, text="点击翻译", bg="#7B68EE", command=getCh)
        twoBtn_0.pack()
        twoText_2 = tkinter.Text(
            self.twoface, width="70", height="8", bg='#FF83FA')
        twoText_2.pack()
	# 切换到其他页面
    def twoBack(self):
        self.twoface.destroy()  # 销毁页面
        OneFace(self.twoWindows)  # 切换到另一个页面
if __name__ == '__main__':
    windows = tkinter.Tk()
    Initface(windows)
    windows.mainloop()

然后使用命令打包

 pyinstaller -F -w -i D:\Python代码\Python的py转exe\mingyu.ico D:\Python代码\Python的py转exe\翻译.py

得到一个exe的文件
在这里插入图片描述

因为我英文不好,对接口、函数、结构体起名字的时候特别为难,因此我使用Python写了一个工具在输入框输入对应的中文,就生成Golang语言对应的接口、函数或接口体的写法,如下演示:看懂代码之后,就可以修改为其它语言对应的写法import tkinterimport requestsimport hashlibimport pyperclipimport time# 获取翻译结果class Baidufanyi: def __init__(self, appid="到百度API获
这篇文章主要介绍了如何基于Python制作有道翻译工具,文通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 该工具主要是利用了爬虫,爬取web有道翻译的内容. 然后利用简易GUI来可视化结果。 首先我们进入有道词典的首页,并点击翻译结果的审查元素 之后request响应网页,并分析网页,定位到翻译结果。 使用tkinter制作一个建议的GUI 期间遇到的一个问题则是如何刷新翻译的结果,否则的话会在text里一直累加翻译结果。 于是,在mainloop里面用到了T1.delete方法,来每次删除TEXT里的内容。 import urllib.r
translate非标准库是python可以实现对多种语言进行互相翻译的库,使用时只需要设置目标语言(比如:文、英文)后,会自动将原始文本翻译成我们需要的目标语言。 【阅读全文】 使用pip的方式安装translate非标准库。 pip install translate 准备好之后进行代码编写过程,实现的方式也比较常规。 输入需要翻译的文本文件路径。 path = input('请输入需要翻译的文件路径(.txt):\n') 编写文本文件读取函数,读取文本文件后返回字符串。
目录前言封装好的python英互译模块使用demo 通过python translate库可以实现英互译的功能,笔者将该实现该共能的代码封装成python的类,从而可以实现python用三行代码实现英互译。 封装好的python英互译模块 from translate import Translator # 封装好的翻译模块 输入参数: “E2C”:英译 "C2E":译英 class LanguageTrans(): 这个网页是在是太占空间了, 挡到了好多东西… 我这个强迫症受不了( •̀ ω •́ )✧ 于是想起以前学习python的时候好像写过一个翻译器, 便拿过来稍作修改, 已解决现在的困境(我需要一个很小的浮窗翻译器) 当当当当, 一条命令直接启...
要使用 Python 创建精确的翻译器,您可以使用现有的翻译 API。 有许多免费的翻译 API 可供选择,例如 Google 翻译 API 和 Microsoft Azure 翻译 API。这些 API 提供了用于翻译文本的简单接口,可以使用 Python 调用。 下面是使用 Google 翻译 API 的示例代码: import requests def translate(text, ta...
对于我这种英语比较差的人来说,无论是敲代码还是看文档, 那都是离不开翻译软件的于是乎,我想自己用python做一个翻译软件, 花了一个小时,终于做了出来了,各种语言随便翻 一、需要的库 translate: 谷歌翻译的第三方包,可以实现多种语言之间的相互翻译tkinter: TkinterPython 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GU
以下是 Python 程序员必备的软件: 1. Python 解释器:Python 官网提供了最新版本的 Python 解释器下载,可以在自己的电脑上安装并运行 Python 程序。 2. Pycharm:Pycharm 是一款专业的 Python 集成开发环境(IDE),它提供了丰富的功能,例如代码编辑、代码调试、代码版本控制、代码分析等等,是 Python 程序员必备工具。 3. Anaconda:Anaconda 是一个数据科学和机器学习的开发环境,它提供了 Python 解释器、包管理器、环境管理器等工具,可以方便地管理 Python 程序的依赖。 4. Jupyter Notebook:Jupyter Notebook 是一个交互式的 Python 编辑器,可以在浏览器执行 Python 代码,并且支持 Markdown 格式的文本编辑,非常适合用于数据分析和机器学习的开发。 5. Git:Git 是一个版本控制工具,可以方便地管理代码的版本和分支,是 Python 程序员必备工具之一。 6. Docker:Docker 是一种容器化技术,可以方便地打包和部署 Python 程序,非常适合用于开发和部署复杂的 Python 应用程序。