TA的每日心情 | 慵懒 2021-9-1 08:46 |
---|
签到天数: 61 天 [LV.6]常住居民II
|
本帖最后由 zhangchaont 于 2021-9-20 16:38 编辑 1 R. R& t# {$ v: E. @: v7 L0 ]
1 f! p0 V4 t4 c2 J
macOS的自带词典,可以用Pyglossary转换成其他格式。不过可能不是所有人都有需要得到完整的词典内容,而只是想通过编程查询释义的话,可以用Python的Objective-C的绑定(可以简单理解成是Python和Objective-C沟通的中介)来实现。
" f1 L2 I$ o0 _9 H* ?$ c8 ^' F" L( J k1 M1 l! H6 ~
先用pip安装绑定:
- M9 d- e1 p$ }) Q- v/ D, w* t/ d, |
然后要一小段代码来测试一下:+ e N+ U" m1 p1 T6 T' |0 T
- from CoreServices import DictionaryServices
6 `2 j7 F( f5 _- J( Q5 W, c' X - 1 b% M: W& Z" v' w3 z
! E+ ]1 `4 v, ^' Z0 N* S8 y0 M- def main():$ U$ v) y/ x% F) y& L
- query = input('Lookup:')
' p' s; J) v# X3 a" g6 ^: y - word_range = (0, len(query))
: X6 v I- h6 y( X+ x - definition = DictionaryServices.DCSCopyTextDefinition(None, query, word_range)0 q0 o1 b; X* f" \9 D; q4 [! t
- if not definition:
$ B4 q4 }9 ^. U6 C+ c1 f7 W) ~# p0 h - errmsg = "'%s' not found in Dictionary." % (query)2 M7 D) V: ]+ g$ ?# W K$ _
- print(errmsg)
2 X) j- g* m' X6 A$ o ~7 \( s - else:
1 D$ F7 e: L! C7 P( i - print(definition) h* p' O$ T2 A7 r) f& Z
- ( M* ~; n' p# [4 T9 i
$ p7 g% ^* D6 @6 Y- ^; f; H, v$ [- if __name__ == '__main__':
& ] s8 K" j/ _" d - main()4 a; Y$ W* U, h' f: e* t3 W" l
复制代码 ( a) y- |. g6 k, Q: H# E. P
- k) w t& ]# k" l2 o
就可以看到单词的释义了:) |
|