python做生词本_一套 macOS 下的自动生成生词本解决方案

在给自带的 Dictionary 导入了 1 个 G 的词典后,遇到陌生的单词直接 Force Click 就能快速找到释义,整个人都舒适了,但也 macOS 本身没有好的解决方案,就结合 BTT 自己设计一个,当然不一定要依赖于 BTT,可以自己构建一个。

通过 BTT 创建一个触发器,当执行时,模拟鼠标双击选中文本 -> 将所选文本储存至变量 selected_text ->运行 Apple 脚本 -> (可选)最后可以触发 Look Up 或者 /词典完成对陌生单词的学习

因为一些原因暂时没有学习 Apple Script,所以这里就只用 apple script 获取 BTT 的变量 selected_text 并传递给 python,如果没有 BTT 的话,可以通过 apple script 读取选中的文本或者是剪切板。

注意如果要使用这些代码要对 python 程序的位置的变量进行修改

这里给出 Apple Script 代码

tell application "BetterTouchTool"

set seletedText to get_string_variable "selected_text"

end tell

set location to "python3 #############Python Script Location "

do shell script location & seletedText

同时这里也给一段 python 生成单词本的示范代码,可以直接使用,只实现了基本的写入和防重复功能,并且可以调用 macOS 的通知功能完成程序状态的反馈

import sys, os

glossaryLocation = '/'

def notify(title, text):

os.system("""

osascript -e 'display notification "{}" with title "{}"'

""".format(text, title))

# Check if word already appended

try :

file = open(glossaryLocation + 'AutomatedGlossary.txt')

for word in file:

if sys.argv[1].lower() == word.rstrip():

notify('Word already existed','😅')

bypass = True

sys.exit()

except OSError:

notify('First time?😘','Creating a new Automated Glossary in ' + glossaryLocation)

os.system('sleep 4')

# Append Word

file = open(glossaryLocation + 'AutomatedGlossary.txt','a')

file.write(sys.argv[1].lower()+'\n')

notify(sys.argv[1].capitalize() + '🥳','Successfully add to Automated Glossary')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值