写了一个小工具,用于去掉项目中的 emoji - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Fzzz02
V2EX    分享创造

写了一个小工具,用于去掉项目中的 emoji

  •  1
     
  •   Fzzz02 12 天前 1135 次点击

    简介

    随着用 AI 编程的时间越来越长,程序中存在很多 AI 的「 emoji 」注释,到处这里一个 emoji ,那里一个 emoji ,于是就写了一个小工具,用于识别并删除项目中的 emoji 。

    项目地址 noemoji

    特性

    • 单文件,且无需依赖下载
    • 自动跳过二进制文件,防止某些二进制文件可能会用 UTF-8 解码
    • (非常推荐)可使用 -g 参数结合 Git 仓库中的 .gitignore 过滤规则(同时自动忽略 .git/目录)
    • 一些优化(-w 参数开启多线程扫描,加快扫描速度、大文件自动流式传输,防止一次性放在内存)
    • -e 白名单,只处理 xxx 类型,如 -e md 就是仅处理 md 类型文件
    • -x 黑名单,跳过该文件类型
    • -n 预览扫描到的 emoji (其实不加也行,因为正常流程也会要求输入 yes/no 来确认流程)

    使用方式

    python3 noemoji.py <目标目录> 

    可选参数

    • -g (在 Git 仓库下非常推荐)应用 .gitignore 的过滤规则,同时忽略 .git/ 目录
    • -x <md 、ts 、、js> 黑名单过滤,不识别<>中的文件类型
    • -e <md 、ts 、、js> 白名单过滤,仅识别<>中的文件类型
    • -w 开启多线程识别,当扫描的是大项目时推荐开启,会加快扫描时间
    • -n 仅预览识别到的 emoji

    python3 noemoji.py </path/to/project> -g

    使用截图

    noemoji-use

    最后

    我自知该工具小且简单,大家就以玩的心态,希望大家对这个小项目提出一些建议和批评,我都会诚恳接受

    3 条回复    2025-12-03 09:01:11 +08:00
    LoNeZ
        1
    LoNeZ  
       12 天前
    ... 在让 ta 开始写的时候 可以告诉 ta 写的不要那么像 ai.
    Fzzz02
        2
    Fzzz02  
    OP
       12 天前
    @LoNeZ 确实是,但是很多时候没提这个提示词,突然想删一删 emoji ,感觉 emoji 可能在很多文件中存在,搜还不太好搜,就弄了一个扫描的工具,确实也不是什么多好的东西,就是突然有这个小需求就做了一个分享出来,大佬就随意看看
    TeslaM3
        3
    TeslaM3  
       11 天前
    AI 时代的特产
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1161 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 16:59 PVG 00:59 LAX 08:59 JFK 11:59
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86