栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

macbook使用automator实现文文本自动化处理

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

macbook使用automator实现文文本自动化处理

在阅读PDF格式文献时,如果想要复制某段文字做笔记,出现类似如下情况,直接抓狂。OCR 是一个不错的办法,但还是不够不方便。

skyline 处 理 首 先 在 单 一 数 据 库 环 境 (即 集 中 式 环 境 )中
进 行 研 究 。 随 着 数 据 越 来 越 多 地 以 分 布 式 方 式 存 储 和 处 理 ,
对 分 布 式 数 据 的 skyline 处 理 在 近 年 来 引 起 了 极 大 的 关 注 。

于是我尝试使用一个 python 脚本+ mac 的自动操作,实现使用一个快捷键把上面的文本处理成正常形式。

只是实现了一个最简单,但最根本的需求,主要目的是使用automator实现自动化。

大致流程是读取剪切板,然后判断是中文还是英文,再去处理文本,具体处理方法看代码吧,很简单,最后再写回剪切板。

import pyperclip
import re


def punctuation_convert(text_: str):
    """
    将英文标点符号替换成中文标点
    """
    e_pun = u',.!?()<>"':;'
    c_pun = u',。!?()《》“‘:;'
    table = {ord(f): ord(t) for f, t in zip(e_pun, c_pun)}
    return text_.translate(table)


def is_contain_chinese(check_str):
    """
    判断字符串中是否包含中文
    """
    for ch in check_str:
        if u'u4e00' <= ch <= u'u9fff':
            return True
    return False


if __name__ == '__main__':
    text: str = pyperclip.paste()

    if is_contain_chinese(text):
        # 如果是中文,则去除行内空格、行尾换行和英文标点。
        text = punctuation_convert(text.replace(' ', '').replace('n', ''))
    else:
        # 如果是英文,则只去除行尾换行。
        text = text.replace('n', '')
    pyperclip.copy(text)

然后打开 mac 的 automator 应用,打开之后选择“新建文稿”,起个名字(不要乱起,后面还会用到),然后选“快速操作”

然后找到“运行shell脚本”双击,工作流程选择“没有输入”,之后就可以像在终端里一样执行python脚本了。

因为我把环境变量写到 ~/.zshrc 里了,只有启动终端时才会加载,所以我写的是python的全路径,正常应该不需要写完整路径。

之后打开系统偏好设置–>键盘–>快捷键,在服务一项中找到通用,刚才新建的快速操作就在这一栏里,指定上自己希望的快捷键。

然后,只需要复制文本,按下快捷键,文本就被处理完成,大功告成啦!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/914107.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号