健身网站开发方式,莲花网站,石家庄邮电职业技术学院,沈阳网站开发程序员工资04-12 周五 基于VS Code Python 实现单词的自动提取 时间版本修改人描述2024年4月12日21:30:56V0.1宋全恒新建文档2024年4月12日22:29:26V1.0宋全恒完成撰写
简介 在之前的文章中#xff0c;我们 03-11 周一 zotero文献阅读时生词提取步骤这个文章中#xff0c;我们详细的介…04-12 周五 基于VS Code Python 实现单词的自动提取 时间版本修改人描述2024年4月12日21:30:56V0.1宋全恒新建文档2024年4月12日22:29:26V1.0宋全恒完成撰写
简介 在之前的文章中我们 03-11 周一 zotero文献阅读时生词提取步骤这个文章中我们详细的介绍了我们通过如下的流程将阅读文献时的生词摘录出来专门进行专项日常生词积累。
[外链图片转存中…(img-F4e7x8Ek-1712933099672)] 那么该如何进行呢我们怎么才能将枯燥的切换转换为程序的执行呢这便是这个文章要记录的内容管理。
前提 要达到当前的要实现的效果需要使用如下的工具
VS CodePython开发环境 使用Python开发环境是因为楼主最近两年一直使用这个语言来开发项目所以相对熟悉一点。 本质就是将枯燥的手动查找替换输入正则匹配转换为程序执行 配置过程 如下的配置均在VSCode环境中进行相当于只需要vscode然后执行一个动作就完成替换即可。 配置任务 这一步的本质是相当于配置一个执行文本处理的入口我们可以使用快捷键Ctrl Shift P,
[外链图片转存中…(img-zmMyDhtR-1712933099675)] 然后在task.json我们撰写如下的内容
{version: 2.0.0,tasks: [{label: word extractor,type: shell,command: python,args: [D:\\400-工作\\420-资源\\423-script\\word_extractor.py, ${file}],problemMatcher: [],group: {kind: build,isDefault: true}}]
}在上面我们指定了command为python所以需要实现在windows机器上安装Python3然后关键是args是要执行的过程另外我们要指定这个参数即处理的当前文件 我们将word_extrctor.py封装了单词提取的完整的流程然后我们取名word extractor这就是vscode的插件强大之处很灵活的可以扩展。只要我们熟悉Python熟悉正则表达式我们基本上可以做各种各样的处理。 撰写脚本 我们按照想要的流程处理当前文件。 注 ${file}是必须要有的标记待处理的文件路径 下面我们看一下这个word_extractor.py的基本逻辑
# -*- coding: utf-8 -*-import re
import os
import sys# print(文件路径: , sys.argv[1])
# 确保文件路径正确
file_path sys.argv[1]
# print(file_path.split(\\))# paths file_path.split(\\)
# file_pathos.path.join(paths[0], /.join(paths[1:]))
# 读取文件内容
with open(file_path, r, encodingutf-8) as file:content file.read()# “implications” ([Zhu 等, 2023, p. 1](zotero://select/library/items/J3S5Q2PY)) ([pdf](zotero://open-pdf/library/items/FTR3LHEG?page1annotationGWMLFT4K)) implications 处理成implications
new_content re.sub( r“(\w)”.*\n, r\1\n, content)lines new_content.split(\n)# 匹配中文
pattern r[\u4e00-\u9fff]# 使用列表推导式和re.sub函数删除包含中文字符的行
new_lines [re.sub(pattern, , line) for line in lines if not re.search(pattern, line)]# 使用列表推导式移除空行一个非空行定义为至少包含一个非空格字符
new_lines [line for line in new_lines if line.strip()]# 将单词排序并获取排序后的单词列表
new_lines.sort()
new_content\n.join(new_lines)# 将新内容写回文件
with open(file_path, w, encodingutf-8) as file:file.write(new_content)print(fReplaced Markdown images with HTML in {file_path})上述的代码逻辑基本上就是读取文件逐行处理每一行内容。首先是处理单词的提取然后使用正则表达式替换有中文的内容然后进行了一次排序。 这样就大功告成了我们就将正则查找替换的命令固定成了一个函数了这也就是程序开发的魅力所在移除所有的枯燥让世界美丽起来。
使用 我们首先在zotero完成一篇文献的阅读然后将标记为红色的生词全部提取出来。然后复制到txt文件中然后我们使用Ctrl Shift P,然后点击task: run然后点击word extractor,即可以完成单词的提取。
然后我们登录不背单词就可以完成自制词书的导入了。这个过程之前在文档中有记录不再赘述。
总结 最近状态还好吧人还是要自律最近自己对自己的手机使用屏幕时间限制限制之后再也不用担心因为手机放纵看电子书或者看短视频了每天清净心不少。人真的是不能收欲望的胁迫然后为什么要不断地使用外在的刺激来获取快感呢短视频是这样电子书是这样都是挺假的只有生活才是真实的所以大家还是要努力的认真的生活。 脚踏实地踏踏实实的去工作去生活去运动去拥抱美好的生活慢慢的我发现自己的工作越来做好人际关系越来越融洽生活越来越充实身体越来越健康