2020 Python 计算生态一月推荐榜
20年1月10日 · 计算生态推荐榜 6296 人阅读
看见更大的世界,遇见更好的自己
See a better world to meet better for ourselves.
文字是文明的象征,也是文明得以传承的重要载体。自诞生之日起,它的影响力就渗透到社会的角角落落。无论你是工人还是学者,农民或者商人,文字都是生活中不可或缺的必需品。对于程序员来说,文字又有着特殊的含义。计算机中形形色色的文字编码常常让人眼花缭乱,即便那些充满着辩证、理性思考的程序员们也常常迷失在文字编码的“无厘头”中。幸运的是,Python中包含众多文本处理工具,帮助程序员们走出文本的泥潭。
2020年1月,闲暇时刻,笔者觅得好时光,打开电子书,正欲畅快阅读一番,不料一行行乱码喷薄而出,一干雅致尽数扫去。因此特别推荐10款优秀的Python计算生态,帮助大家扫去文本处理的阴霾,还计算机一个清晰明朗的文字世界。
chardet
chardet是一个通用字符编码检测器,兼容Python2和3。使用chardet检测编码非常简单,支持多种编码列表,同时支持检测中文、韩文、日文等多种语言。
项目地址:https://github.com/chardet/chardet
difflib
difflib是Python中的标准库模块。用于对比序列之间的差异,例如,它可以用于比较文件,可以产生各种格式的不同信息,包括HTML和上下文以及统一的差异。在版本控制方面有着不错的效果。
项目地址:https://docs.python.org/3/library/difflib.html
ftfy
ftfy用来修复被破坏的Unicode编码,包含乱码和其他的一些小故障。它的目标是接收一些破碎的不完整的Unicode字符,输出完整的准确的Unicode字符而不是接收非Unicode字符输出Unicode字符。ftfy将尽其所能的修复编码问题。
项目地址:https://github.com/LuminosoInsight/python-ftfy
fuzzywuzzy
fuzzywuzzy是一个简单易用的字符串模糊匹配工具。它使用Levenshtein距离计算两个序列之间的差异。主要包含四种匹配方式:简单匹配、非完全匹配、忽略顺序匹配以及去重子集匹配。除了Python,它也被移植到了Java等常用语言环境中。
项目地址:https://github.com/seatgeek/fuzzywuzzy
python-Levenshtein
python-Levenshtein是一个快速计算Levenshtein距离和字符串相似度的模块。它能够快速计算出编辑距离以及编辑操作。同时支持普通字符串和Unicode字符串。
项目地址:https://github.com/ztane/python-Levenshtein/
pangu
pangu是一个在文本间添加空间的工具。为了使文本具有良好的可读性,在中文、日文、韩文与半角字符(英文字母、数字和符号)之间自动添加空格。其实现了多种语言版本,包含Python,Go,Java,JavaScript等。
项目地址:https://github.com/vinta/pangu.py
pyfiglet
pyfiglet是figlet的Python实现。和figlet不同的是,它允许你的字体集合保存在一个大的压缩文件中。使用pyfiglet有两种方式。首先它可以像C中的figlet那样使用命令行操作,并且支持大多数相同的选项;其次它也是一个可以在Python代码中使用的库。
项目地址:https://github.com/pwaller/pyfiglet
pypinyin
pypinyin是一个将汉字转拼音的库。可以用于汉字拼音、排序、检索。它能够根据词组智能匹配最正确的拼音,支持多音字、简单的繁体字以及注音,同时支持多种不同的拼音注音风格。
项目地址:https://github.com/mozillazg/python-pinyin
textdistance
textdistance是一个用于比较两个或多个序列之间距离的Python库。它使用30多种不同的算法计算序列的距离,所有的算法都有两种接口。纯Python实现以及可以使用numpy进行加速。
项目地址:https://github.com/life4/textdistance
unidecode
unidecode是一个将Unicode文本音译成ASCII字符的工具。它提供的unidecode函数接收Unicode数据并尝试用ASCII字符表示,两个字符集之间的映射偏向于选择使用美式键盘的人的习惯。
Python3Turtle