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服務器框架
總結
以上是生活随笔為你收集整理的python扩展库丰富吗_python扩展库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python结束线程池正在运行的线程_p
- 下一篇: 为什么python这么火_Python为