123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- # python 读写剪切板内容, 先用下行命令安装运行库
- # python -m pip install pywin32
- import win32clipboard as w
- import win32con
- import re
- def getText():
- w.OpenClipboard()
- d = w.GetClipboardData(win32con.CF_TEXT)
- w.CloseClipboard()
- return(d).decode('GBK')
- def setText(aString):
- w.OpenClipboard()
- w.EmptyClipboard()
- w.SetClipboardText(aString)
- w.CloseClipboard()
- def list_to_clipboard(list):
- text = " ".join(list)
- print(text)
- setText(text)
- # 单位in或cm 换算mm
- def convert_mm(text, unit):
- list = re.findall(r"[1-9][\d\.]*\d*", text)
- if (unit == 'in') :
- print("单位英寸")
- for i, ch in enumerate(list):
- list[i] = str((int(float(ch) * 25.4 + 0.5)))
- elif(unit == 'cm') :
- print("单位厘米")
- for i, ch in enumerate(list):
- list[i] = str((int(float(ch) * 10 + 0.5)))
- list_to_clipboard(list)
- # 获取剪贴板文本
- text = getText()
- # print(text)
- # 正则搜索数字,写回剪贴板
- list = re.findall(r"[1-9][\d\.]*\d*[cmin\"]*", text)
- list_to_clipboard(list)
- # 判断厘米和英寸换算mm
- match = re.search(r"cm|in|\"", text)
- if match:
- # print(match.group())
- unit = match.group()
- if (unit == 'in') or (unit == '\"') :
- convert_mm(text, 'in')
- elif(unit == 'cm') :
- convert_mm(text, 'cm')
|