掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 393|回复: 17

[工具] 从mdx提取指定的词条,并打包成mdx

[复制链接]
  • TA的每日心情
    开心
    2019-1-21 17:00
  • 签到天数: 376 天

    [LV.9]以坛为家II

    发表于 2019-8-11 19:40:53 | 显示全部楼层 |阅读模式
    本帖最后由 simonfire 于 2019-8-14 11:25 编辑
    : g  d+ I* Z6 X* K
    6 s& Y" q2 ?; Y; R% s用python写的一个小工具,解析和打包都是用的zzzz_sleep的 mdict-utils。* [; x/ d8 d/ k7 p/ s
    用法:把需要提取的单词制成一行一个的格式,命名为input.txt(文件编码有要求,必须是UTF-8(无BOM,也叫无签名),要提取的mdx文件命名为input.mdx,和解压的exe文件放在同一目录,双击运行exe文件就行了。正常运行的话,会生成名为output的txt和mdx文件。
    % w0 C  r: a  B$ U7 L+ s' q目前只进行了简单的测试,有使用问题后续再修复吧
    & X$ l/ h/ P4 u加了程序运行时打印正在提取的单词,你可以知道个大概的进度
    9 ~1 Z! ]6 `( l/ k1 c+ @4 Z" c然后现在程序是单线程运行,所以速度很慢(目测1秒才2-3个单词),最好不要弄太多词条去提取,后续可能会增加多线程,看情况吧' z- o8 b& A+ C, o+ y$ H* S/ S
    下载地址,度盘:
    2 A& ^/ F2 z5 Y9 j链接:https://pan.baidu.com/s/11nIBxwL5-CYZhFfiK9njyw 提取码:0jfa 复制这段内容后打开百度网盘手机App,操作更方便哦" d& g  w! [6 i) O. w9 W7 X7 x4 H% O

    % D1 e  k6 M5 P8 d/ Hps:要源码的朋友,我这代码总共10多行,没有一点学习价值,想学习的去看看 mdict-utils的源码吧。
    ; r0 l# {" }$ z; [+ h/ hps2:试着加多线程提升速度,但是发现并没有用,速度反而不如原来,不知道是我姿势不对还是怎么回事,所以这个速度问题应该会无限期搁置吧,哈哈。

    评分

    5

    查看全部评分

    本帖被以下淘专辑推荐:

  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2019-8-11 20:18:51 | 显示全部楼层
    simonfire 兄:
    * K0 k" @" q* @能想出如此的懒人包
    - q0 C1 Y  p  M* V對於幼幼班的真是一大福利
    3 S% ]' b) c/ r. P; f  P3 HThanks a lot+ e6 j4 U6 V& x- P3 _
  • TA的每日心情
    开心
    5 天前
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2019-8-11 20:48:37 | 显示全部楼层
    按要求试了一下,没反应啊
  • TA的每日心情

    2019-2-16 21:57
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    发表于 2019-8-11 21:11:52 | 显示全部楼层
    可以分享一下源代码吗?
  • TA的每日心情
    开心
    2019-1-21 17:00
  • 签到天数: 376 天

    [LV.9]以坛为家II

     楼主| 发表于 2019-8-11 23:31:26 | 显示全部楼层
    999阿彌陀佛 发表于 2019-8-11 20:48
    ! t9 a* \; @. ?- P6 m" v6 B按要求试了一下,没反应啊

    8 p- b) T, w; l: L6 R8 A8 i1 W8 F你不要弄太多单词进去,然后保存为txt时编码选utf-8无BOM(也叫utf-8无签名),再试试
  • TA的每日心情
    擦汗
    前天 16:05
  • 签到天数: 129 天

    [LV.7]常住居民III

    发表于 2019-8-12 08:16:56 | 显示全部楼层
    方法很特别!
  • TA的每日心情
    开心
    4 天前
  • 签到天数: 202 天

    [LV.7]常住居民III

    发表于 2019-8-12 09:06:31 | 显示全部楼层
    请问:之前Mdict Editor Tool等工具提取后的排序是按照字母顺序,并非input的顺序,不知道我们这个output.txt的顺序是?
  • TA的每日心情
    开心
    2019-1-21 17:00
  • 签到天数: 376 天

    [LV.9]以坛为家II

     楼主| 发表于 2019-8-12 09:36:24 来自手机 | 显示全部楼层
    VimVim 发表于 2019-8-12 09:06
    ; A3 ^9 c$ k8 {4 J请问:之前Mdict Editor Tool等工具提取后的排序是按照字母顺序,并非input的顺序,不知道我们这个output.t ...

    . r! q* s: n3 f输出的txt,是按照你的input.txt的先后,至于打包mdx后有没有再排序,因为用的是别人的写好的工具,我也没有研究

    点评

    太好了,正是需要这种排序!txt已能满足需求。  发表于 2019-8-12 14:56
  • TA的每日心情
    慵懒
    2 小时前
  • 签到天数: 66 天

    [LV.6]常住居民II

    发表于 2019-8-12 11:08:20 | 显示全部楼层
    老哥,源码能发出来学习一下吗?
  • TA的每日心情
    慵懒
    前天 13:19
  • 签到天数: 99 天

    [LV.6]常住居民II

    发表于 2019-8-12 15:49:51 | 显示全部楼层
    simonfire 发表于 2019-8-12 09:36
    $ V: b- ?2 G# C5 i* T3 w( [输出的txt,是按照你的input.txt的先后,至于打包mdx后有没有再排序,因为用的是别人的写好的工具,我也 ...
    ' u  z4 Z! q4 `7 ]2 O
    打包成 mdx 后,都是重新排序的,与原有 txt 顺序无关。
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

    发表于 2019-8-12 21:14:14 | 显示全部楼层
    本帖最后由 jonah_w 于 2019-8-12 21:15 编辑 $ {3 a( J( }4 b+ R/ V

    5 Q# X5 e; K, y! t如果要保证按input.txt里的词头先后的话,速度肯定会慢,不考虑前后或者按字母顺序的话(用哈希),速度应该会非常快(几万个词头,也就是几秒,根据以前经验猜的)。可以考虑下。
  • TA的每日心情
    慵懒
    前天 21:56
  • 签到天数: 136 天

    [LV.7]常住居民III

    发表于 2019-8-12 22:39:30 | 显示全部楼层
    开源一下,这样我可以看看为什么速度这么慢
  • TA的每日心情
    开心
    5 天前
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2019-8-13 07:50:36 | 显示全部楼层
    謝謝,單詞表保存為 編碼ANSI 就可以了。之前是utf-8,沒反應。
  • TA的每日心情
    开心
    2019-1-21 17:00
  • 签到天数: 376 天

    [LV.9]以坛为家II

     楼主| 发表于 2019-8-13 10:39:34 来自手机 | 显示全部楼层
    999阿彌陀佛 发表于 2019-8-13 07:50
    8 W$ l* v3 d7 D6 f" n5 N' c謝謝,單詞表保存為 編碼ANSI 就可以了。之前是utf-8,沒反應。
    0 F2 Z* J4 g) I" Y
    你肯定用的是记事本了,弄这个你最好使用像notepad++或者emeditor这种编辑器。
    4 p' I1 \9 z* T# r不然你保存为ansi,英文没问题,中文就GG了,不过你要是不太懂,就凑合用吧
  • TA的每日心情
    开心
    5 天前
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2019-8-13 18:30:30 | 显示全部楼层
    謝謝。# x! K; g0 }. |& y  S2 W
    只是速度現在很慢,能不能改進一下?現在的詞典詞條都很多的。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2019-8-14 03:07:32 | 显示全部楼层
    本帖最后由 喬治兄 于 2019-8-14 03:12 编辑 9 a1 j+ t9 [9 o* Z4 a( F
    simonfire 发表于 2019-8-12 09:36
    " Y; M) X# Y0 J, }' A/ N输出的txt,是按照你的input.txt的先后,至于打包mdx后有没有再排序,因为用的是别人的写好的工具,我也 ...

    . W/ c2 X+ \$ ~% u! Z7 z: u) |( o$ F- T( X3 v
    哈哈, 還是@VimVim 兄問到了重點
    ) Z$ w4 w6 K% Y  `0 U3 D小弟也正需输出的txt 按 input.txt 的先后& [8 M9 P7 J- {6 `; h
    讚一個
    # T' ^" `2 ]' Q4 [* Z本想學此招
    ( ]; H- ?: f9 ?4 ~- q! w  Z: Q- J/ `[教程] 用Emeditor提取子字典5 ?) ~' H+ x. k5 Q! ~$ G
    https://www.pdawiki.com/forum/forum.php?mod=viewthread&tid=34351#lastpost3 B& e6 P( P1 {9 R' k( x3 w
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    顶部qrcode底部
    关注公众号送论坛充值码
    关注微信公众平台
    关注微信公众号 pdawiki,获取邀请码,看文抢积分,抽奖得浮云! Follow our Wechat official account "pdawiki", get invitation codes, and play the lottery to earn points (积分)!

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2019-8-25 02:50 , Processed in 0.131287 second(s), 10 queries , MemCache On.

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表