python扩展库丰富吗_python扩展库

python更新所有的包

1

2

3

4

5

6

7

8> import pip

> from subprocess import call

>

> package_list_str = " ".join([dist.project_name for dist in pip.get_installed_distributions()])

>

> call("pip install --upgrade " + package_list_str, shell=True)

>

>

gettext 模块

使用gettext模块翻译Python3源码以支持国际化

你写了一个Python 3进程,还想要它适用于其他语言。你能复制全部代码库,然后刻意地检查每个.py文档,替换掉所有找到的文本字符串。但这意味着你有两份你代码的独立副本,每当你要做出个改动或修复个bug,你的工作量会加倍。而且如果你想要进程还适用于其他语言,就更糟了。

TODO: 了解一下 Python Language Services的一些库。比如parser — Access Python parse trees用于解析源代码 解析成抽象树!

configparser 内置库用法

这个库用于解析配置文档,配置文档需要满足一定的语法要求。通常是txt/ini的文档格式:

配置文档中包含一个或多个section, 每个section用中括号括起来[section_name]

[section_name]后面是该选项下的参数名以及参数值(或者说键值对),使用分隔符 = 或 : 隔开。

每个键值对占据一行,该行是一个option。在 option 分隔符两端的空格会被忽略掉。

参数文档使用 # 和 ; 作为行开头时,该行是注释,也就是说该行不是参数行,不会被解析成参数。

使用方法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14import configparser

config = configparser.ConfigParser()

config.read(file, encoding='utf-8')

fread = open(file, 'r', encoding='utf-8')

config.read_file('[fake]n' + fread.read())

config.read_string('[fake]n' + fread.read())

print(config.sections())

print(config.options('section_name'))

print(config.items('section_name'))

bunch库Bunch is a dictionary that supports attribute-style access, a la JavaScript.

Bunch库是一个支持属性方式获取值的字典,就像JavaScript。

从源码来看class Bunch(dict): 显然是字典的子类。此外这个库还支持序列化转换成json格式

但是这个库已经没有人维护,仅仅比较友好的支持到python3.2

因此修改了部分源码使其更好的支持python3.6,主要体现在

dict的方法dict.keys(),dict.items(),dict.values()不会再返回列表,而是返回一个易读的“views”。这样一来,像这样的语法将不再有用了:k = d.keys();k.sort(),你可以使用k = sorted(d)来代替。sorted(d)在Python2.5及以后的版本中也有用,但是Python3效率更高了。

目前自己电脑上用的就是修改后支持python3.6的

转换 Dict->Bunch->Dice/json/yaml

注意,使用argparse.Namespace也可以实现:但是不支持字典的方式arg.fix['x']

1

2arg = argparse.Namespace(num=10, fix=argparse.Namespace(x=2, y=10))

print(arg.fix.x)

TODO: 有待研究

Chilkat 库

是一个综合性的库,好像很牛X。有待了解….

tqdm: 进度条工具库tqdm means “progress” in Arabic (taqadum, تقدّم) and is an abbreviation for “I love you so much” in Spanish (te quiero demasiado).

tqdm(读音:taqadum, تقدّم)在阿拉伯语中的意思是进展。tqdm可以在长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator),是一个快速、扩展性强的进度条工具库示例。

安装: pip install tqdm

示例

1

2

3

4from tqdm import tqdm

from time import sleep

for i in tqdm(range(100)):

sleep(1)

networkx 库NetworkX是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分析、仿真建模等工作。networkx支持创建简单无向图、有向图和多重图(multigraph);内置许多标准的图论算法,节点可为任意数据;支持任意的边值维度,功能丰富,简单易用。

tornado 库

python web服务器框架

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值