发现单词的词源
et的Python项目详细描述
简介
最近,@jmsv和@parker57启动了一个副业项目,分析不同历史作者所写文本的词源,希望已经有一个用于检索词源数据的库。一旦发现不是这样,就创建了ety!
词源学没有一个单一的真理来源;单词的起源可能有很大的争议。这个包的源数据,gerard de melo的Etymological Wordnet,主要是从wiktionary中挖掘的。因为这是一本合作编辑的词典,所以它的数据可以被看作是最接近公众共识的。
安装
pip
pip install ety
发展
在虚拟环境中-Pipenv建议:
python setup.py install
用法
模块
>>>importety>>>ety.origins("potato")[Word(batata,language=Taino)]>>>ety.origins("drink",recursive=True)[Word(drync,language=OldEnglish(ca.450-1100)),Word(drinken,language=MiddleEnglish(1100-1500)),Word(drincan,language=OldEnglish(ca.450-1100))]>>>print(ety.tree("aerodynamically"))aerodynamically(English)├──-ally(English)└──aerodynamic(English)├──aero-(English)│└──ἀήρ(AncientGreek(to1453))└──dynamic(English)└──dynamique(French)└──δυναμικός(AncientGreek(to1453))└──δύναμις(AncientGreek(to1453))└──δύναμαι(AncientGreek(to1453))
cli
安装后,还可以使用命令行工具。ety -h
输出以下描述参数的帮助文本:
usage: ety [-h] [-r] [-t] words [words ...]
positional arguments:
words the search word(s)
optional arguments:
-h, --help show this help message and exit
-r, --recursive search origins recursively
-t, --tree display etymology tree
示例
$ ety drink drink # List direct origins • drync (Old English (ca. 450-1100)) • drinken (Middle English (1100-1500)) $ ety drink -r # Recursive search drink • drync (Old English (ca. 450-1100)) • drinken (Middle English (1100-1500)) • drincan (Old English (ca. 450-1100)) $ ety drink -t # Etymology tree drink (English) ├── drinken (Middle English (1100-1500)) │ └── drincan (Old English (ca. 450-1100)) └── drync (Old English (ca. 450-1100))