用python写一个用驼峰法来命名变量脚本

  • 前言
  • 一、思路
    • 1.用有道翻译来翻译变量名
    • 2.获取剪切板内容
    • 3.热键监听来执行程序
  • 二、使用步骤
    • 1.大致的使用方法
    • 2.要用到的库
    • 2.主方法
  • 总结

前言

输入中文变量名自动返回英文变量名的脚本


提示:以下是本篇文章正文内容,下面案例可供参考

一、思路

1.用有道翻译来翻译变量名

代码如下(示例):

class Youdao(object):def __init__(self):# 要翻译的内容self.word = gettext().decode('gbk')self.url = 'https://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'self.headers = {"Cookie": "OUTFOX_SEARCH_USER_ID=-1551972107@123.154.176.13; OUTFOX_SEARCH_USER_ID_NCOO=1474258707.2598014; _ga=GA1.2.1009520071.1594950987; _ntes_nnid=e128de31dea304b779062ae8d3a3d1a4,1603424745279; JSESSIONID=aaa5npeigFJ3e-GQKnkQx; ___rl__test__cookies=1625816457871","User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400","Referer": "https://fanyi.youdao.com/"}self.data = {}def generate_post_data(self):# 获取时间戳r = str(int(time.time() * 1000))# 拼接一个随机数i = r + str(random.randint(0, 9))# 获取signsign = self.md5("fanyideskweb" + self.word + i + "@6f#X3=cCuncYssPsuRUE")self.data = {"i": self.word,"from": "AUTO","to": "AUTO","smartresult": "dict","client": "fanyideskweb","salt": i,"sign": sign,"ts": r,"bv": "8d869977ed9730c759a83d50a1f65ed0","doctype": "json","version": "2.1","keyfrom": "fanyi.web","action": "FY_BY_REALTlME",}def md5(self, data):# 1获取md5对象md5 = hashlib.md5()# 2添加源数据md5.update(data.encode())# 3得到结果result = md5.hexdigest()return resultdef get_data(self):response = requests.post(self.url, data=self.data, headers=self.headers)return response.content.decode()def parse_data(self, data):"""数据的提取"""data_dict = json.loads(data)result = data_dict['translateResult'][0][0]['tgt']return result# print('翻译的结果是' + result)def run(self):pass# 1 确定url header是# 2 确定数据dataself.generate_post_data()# 3发送请求data = self.get_data()#print(data)# 4数据的提取s=self.parse_data(data).title().replace(" ", "")#规范一下变量名aa=s[0].lower()+s[1:]pyperclip.copy(aa)spam = pyperclip.paste()

2.获取剪切板内容

代码如下(示例):

def gettext():w.OpenClipboard()t = w.GetClipboardData(win32con.CF_TEXT)w.CloseClipboard()return t

3.热键监听来执行程序

这里扒来的:https://blog.csdn.net/lsjweiyi/article/details/79137931

代码如下(示例):

RUN=False #用来传递运行一次的参数
EXIT = False #用来传递退出的参数
user32 = ctypes.windll.user32  #加载user32.dll
id1=105 #注册热键的唯一id,用来区分热键
id2=106class Hotkey(threading.Thread):  #创建一个Thread.threading的扩展类  def run(self):  global EXIT  #定义全局变量,这个可以在不同线程间共用。global RUN  #定义全局变量,这个可以在不同线程间共用。if not user32.RegisterHotKey(None, id1, 0, win32con.VK_F9):   # 注册快捷键F9并判断是否成功,该热键用于执行一次需要执行的内容。  win32con.VK_F9 改这个值为想要的键即可更改热键print ("Unable to register id"+ id1) # 返回一个错误信息if not user32.RegisterHotKey(None, id2, 0, win32con.VK_F10):   # 注册快捷键F10并判断是否成功,该热键用于结束程序,且最好这么结束,否则影响下一次注册热键。  print ("Unable to register id"+ id2)#以下为检测热键是否被按下,并在最后释放快捷键  try:  msg = ctypes.wintypes.MSG()  while True:if user32.GetMessageA(ctypes.byref(msg), None, 0, 0) != 0:if msg.message == win32con.WM_HOTKEY:  if msg.wParam == id1:RUN = Trueelif msg.wParam == id2:EXIT=Truereturnuser32.TranslateMessage(ctypes.byref(msg))  user32.DispatchMessageA(ctypes.byref(msg))finally:user32.UnregisterHotKey(None, id1)#必须得释放热键,否则下次就会注册失败,所以当程序异常退出,没有释放热键,#那么下次很可能就没办法注册成功了,这时可以换一个热键测试user32.UnregisterHotKey(None, id2)hotkey = Hotkey()
hotkey.start()

二、使用步骤

1.大致的使用方法

1先运行程序
2.复制中文变量名
3.F9:执行翻译并把结果放到剪切板 就可以ctrl+v复制了
4.可以继续挂在后台或者 按F10:退出程序
tips:热键可以去代码中更改

2.要用到的库

代码如下(示例):

import ctypes
import ctypes.wintypes
import hashlib
import json
import os
import random
import sys
import threading
import timeimport pyperclip
import requests
import win32api
import win32clipboard as w
import win32con
import win32gui

2.主方法

代码如下(示例):

if __name__ == '__main__':while(True):if RUN==True:youdao = Youdao()youdao.run()RUN=Falseelif EXIT==True:#这里是用于退出循环的sys.exit()

总结

没啥好说的老裁缝了

这里是完整的代码 我python的版本是3.7小伙伴们ctrl c v 一下就可以用了

import ctypes
import ctypes.wintypes
import hashlib
import json
import os
import random
import sys
import threading
import timeimport pyperclip
import requests
import win32api
import win32clipboard as w
import win32con
import win32guiRUN=False #用来传递运行一次的参数
EXIT = False #用来传递退出的参数
user32 = ctypes.windll.user32  #加载user32.dll
id1=105 #注册热键的唯一id,用来区分热键
id2=106class Hotkey(threading.Thread):  #创建一个Thread.threading的扩展类  def run(self):  global EXIT  #定义全局变量,这个可以在不同线程间共用。global RUN  #定义全局变量,这个可以在不同线程间共用。if not user32.RegisterHotKey(None, id1, 0, win32con.VK_F9):   # 注册快捷键F9并判断是否成功,该热键用于执行一次需要执行的内容。  print ("Unable to register id"+ id1) # 返回一个错误信息if not user32.RegisterHotKey(None, id2, 0, win32con.VK_F10):   # 注册快捷键F10并判断是否成功,该热键用于结束程序,且最好这么结束,否则影响下一次注册热键。  print ("Unable to register id"+ id2)#以下为检测热键是否被按下,并在最后释放快捷键  try:  msg = ctypes.wintypes.MSG()  while True:if user32.GetMessageA(ctypes.byref(msg), None, 0, 0) != 0:if msg.message == win32con.WM_HOTKEY:  if msg.wParam == id1:RUN = Trueelif msg.wParam == id2:EXIT=Truereturnuser32.TranslateMessage(ctypes.byref(msg))  user32.DispatchMessageA(ctypes.byref(msg))finally:user32.UnregisterHotKey(None, id1)#必须得释放热键,否则下次就会注册失败,所以当程序异常退出,没有释放热键,#那么下次很可能就没办法注册成功了,这时可以换一个热键测试user32.UnregisterHotKey(None, id2)hotkey = Hotkey()
hotkey.start()  class Youdao(object):def __init__(self):# 要翻译的内容self.word = gettext().decode('gbk')self.url = 'https://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'self.headers = {"Cookie": "OUTFOX_SEARCH_USER_ID=-1551972107@123.154.176.13; OUTFOX_SEARCH_USER_ID_NCOO=1474258707.2598014; _ga=GA1.2.1009520071.1594950987; _ntes_nnid=e128de31dea304b779062ae8d3a3d1a4,1603424745279; JSESSIONID=aaa5npeigFJ3e-GQKnkQx; ___rl__test__cookies=1625816457871","User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400","Referer": "https://fanyi.youdao.com/"}self.data = {}def generate_post_data(self):# 获取时间戳r = str(int(time.time() * 1000))# 拼接一个随机数i = r + str(random.randint(0, 9))# 获取signsign = self.md5("fanyideskweb" + self.word + i + "@6f#X3=cCuncYssPsuRUE")self.data = {"i": self.word,"from": "AUTO","to": "AUTO","smartresult": "dict","client": "fanyideskweb","salt": i,"sign": sign,"ts": r,"bv": "8d869977ed9730c759a83d50a1f65ed0","doctype": "json","version": "2.1","keyfrom": "fanyi.web","action": "FY_BY_REALTlME",}def md5(self, data):# 1获取md5对象md5 = hashlib.md5()# 2添加源数据md5.update(data.encode())# 3得到结果result = md5.hexdigest()return resultdef get_data(self):response = requests.post(self.url, data=self.data, headers=self.headers)return response.content.decode()def parse_data(self, data):"""数据的提取"""data_dict = json.loads(data)result = data_dict['translateResult'][0][0]['tgt']return result# print('翻译的结果是' + result)def run(self):pass# 1 确定url header是# 2 确定数据dataself.generate_post_data()# 3发送请求data = self.get_data()#print(data)# 4数据的提取s=self.parse_data(data).title().replace(" ", "")#规范一下变量名aa=s[0].lower()+s[1:]pyperclip.copy(aa)spam = pyperclip.paste()
def gettext():w.OpenClipboard()t = w.GetClipboardData(win32con.CF_TEXT)w.CloseClipboard()return t
if __name__ == '__main__':while(True):if RUN==True:youdao = Youdao()youdao.run()RUN=Falseelif EXIT==True:#这里是用于退出循环的sys.exit()

用python写一个用驼峰法来命名变量脚本相关推荐

  1. 用Python写一个企业微信自动化打卡的脚本

    好的,以下是用Python编写企业微信自动化打卡脚本的大致步骤: 安装必要的Python模块,如selenium.webdriver.pyautogui等. 在代码中使用selenium模拟打开企业微 ...

  2. python解析器是什么_如何用python写一个简单的词法分析器

    编译原理老师要求写一个java的词法分析器,想了想决定用python写一个. 目标 能识别出变量,数字,运算符,界符和关键字,用excel表打印出来. 有了目标,想想要怎么实现词法分析器. 1.先进行 ...

  3. python写词法分析器_如何用python写一个简单的词法分析器

    编译原理老师要求写一个java的词法分析器,想了想决定用python写一个. 目标 能识别出变量,数字,运算符,界符和关键字,用excel表打印出来. 有了目标,想想要怎么实现词法分析器. 1.先进行 ...

  4. python写词法分析器_用python写一个简单的词法分析器

    编译原理老师要求写一个java的词法分析器,想了想决定用python写一个. 目标 能识别出变量,数字,运算符,界符和关键字,用excel表打印出来. 有了目标,想想要怎么实现词法分析器. 1.先进行 ...

  5. python写一个表白程序-用Python写一个表白神器让你脱单

    原标题:用Python写一个表白神器让你脱单 来自公众号:Python编程时光 今天是什么节日,就不用小明说了吧? 有女朋友的,该准备的礼物买了吗? 没有对象的,表白的套路学会了吗? 还没有?好吧,你 ...

  6. 贪吃蛇博弈算法python_算法应用实践:如何用Python写一个贪吃蛇AI

    原标题:算法应用实践:如何用Python写一个贪吃蛇AI 前言 这两天在网上看到一张让人涨姿势的图片,图片中展示的是贪吃蛇游戏, 估计大部分人都玩过.但如果仅仅是贪吃蛇游戏,那么它就没有什么让人涨姿势 ...

  7. python表白神器_用Python写一个表白神器让你脱单

    原标题:用Python写一个表白神器让你脱单 来自公众号:Python编程时光 今天是什么节日,就不用小明说了吧? 有女朋友的,该准备的礼物买了吗? 没有对象的,表白的套路学会了吗? 还没有?好吧,你 ...

  8. python写一个通讯录step by step V3.0

    python写一个通讯录step by step V3.0 更新功能: 数据库进行数据存入和读取操作 字典配合函数调用实现switch功能 其他:函数.字典.模块调用 注意问题: 1.更优美的格式化输 ...

  9. python俄罗斯方块算法详解_用 Python 写一个俄罗斯方块游戏 (

    @@ -2,34 +2,34 @@ > * 原文作者:[Dr Pommes](https://medium.com/@pommes) > * 译文出自:[掘金翻译计划](https://g ...

最新文章

  1. 【Android 应用开发】AndroidUI设计 之 图片浏览器
  2. 【收藏】快速排查无线AP故障的十种方法
  3. Hadoop源码解读系列目录
  4. 八千字硬核长文梳理Linux内核概念及学习路线
  5. 2021 高考 成绩查询,精准预测!2021全国大学录取分数线表查询
  6. Part 4 —— Go 模块:v2 及更高版本
  7. [转载] sklearn学习之:(3)决策树回归算法
  8. html5游戏开发教程实战:五子棋、四子棋、围棋、翻转棋四种对弈游戏,仅仅100行代码...
  9. Python实现支持人机对战的五子棋软件(超详细)
  10. 北京大学肖臻老师《区块链技术与应用》公开课笔记:以太坊原理(三):智能合约
  11. 如何给程序添加数字签名 sign
  12. python352的值为_Python3高级基础(2)
  13. 【无标题】解决谷歌浏览器最新chrome94版本CORS跨域问题
  14. 在工作站计算机中创建策略,禁止任何计算机访问本机 8000 端口
  15. 千锋深圳校区相亲会 双蛋之夕不再孤单
  16. 基于Python的决策树分类器与剪枝
  17. 团体程序设计天梯赛-练习集 L2-015 互评成绩 (25分)
  18. 杀毒软件McAfee导致客户端访问mscrm超慢
  19. Chrome关闭非安全站点证书检查
  20. mac vscode vim 中文输入法搜狗问题处理

热门文章

  1. win10命令行添加此电脑到桌面
  2. Python 正则表达式-基础操作
  3. 帮我找一下JAVA_急!!!帮我找出程序中的错误
  4. win10玩巫师3看cg闪退怎么解决
  5. DMU 以及后期flashback 回退
  6. MySQL OCP888题解031-使用X509加密连接
  7. Elasticsearch Java API 之Query、Filter、count、Aggregations
  8. 手把手教你如何查找Token
  9. 微信小程序实战:智能水印相机小程序开发附源码
  10. AJAX做简单的RSS聚合页面