我常用到的python库

2020-06-19 00:00:00 代码 开发 模块 统计 案例

Python 的一大特色是其丰富的模块,基本上只要你能想到的常见开发需求,都能找到别人已经实现的库直接使用,或者相关的工具/框架来辅助实现。但这对于新手来说也是一个问题:这么多库,我要从哪里学起?怎么才能记住这么多库的用法?

对此我的建议:

  1. 不要把学习库作为目标。正确的学习逻辑是,去发掘可编程解决的需求,以实现功能为目标,在开发过程中去搜索去学习相关的库。否则你会陷在茫茫模块之中失去方向。
  2. 不用去死记库的用法,你也不可能记下来。你需要了解的是查找和阅读文档的方法,以及常见的开发模式。所谓开发经验,并不是你记住的内容,而是你掌握的方法。

我们编程教室在过去发表过数十个开发案例,这些案例主要用到哪些库呢?今天就来统计一下,顺便给大家整理及推荐常用的一些库。

之前有下载过文章相关代码的同学应该知道我们这个 snippet 的代码仓库,我们大部分的案例项目都在其中。下面就以这个库中的代码为参考进行统计。

统计代码:

import os
from collections import Counter

modules = set()
all_modules = {}
for root, dirs, files in os.walk("..", topdown=False):
    for name in files:
        if name.endswith('.py'):
            with open(root + os.path.sep + name) as f:
                for line in f:
                    line = line.lstrip()
                    if line.startswith('from') or line.startswith('import'):
                        module = line.split()[1]
                        module = module.split('.')[]                        if module:
                            modules.add(module)
    if root.count(os.path.sep) <= 1:
        for m in modules:
            all_modules[m] = all_modules.get(m, ) + 1
        modules = set()
print(Counter(all_modules).most_common())

相关文章