pythonzlib
① 在python中一共有多少個標准庫
Python 語言官方的參考手冊鍾,介紹了與 Python 一同發行的標准庫。
文本處理服務
string--- 常見的字元串操作
re--- 正則表達式操作
difflib--- 計算差異的輔助工具
textwrap--- 文本自動換行與填充
unicodedata--- Unicode 資料庫
stringprep--- 網際網路字元串預備
readline--- GNU readline 介面
rlcompleter--- GNU readline 的補全函數
二進制數據服務
struct--- 將位元組串解讀為打包的二進制數據
codecs--- 編解碼器注冊和相關基類
數據類型
datetime--- 基本日期和時間類型
zoneinfo--- IANA 時區支持
calendar--- 日歷相關函數
collections--- 容器數據類型
collections.abc--- 容器的抽象基類
heapq--- 堆隊列演算法
bisect--- 數組二分查找演算法
array--- 高效的數值數組
weakref--- 弱引用
types--- 動態類型創建和內置類型名稱
--- 淺層 (shallow) 和深層 (deep) 復制操作
pprint--- 數據美化輸出
reprlib--- 另一種repr()實現
enum--- 對枚舉的支持
graphlib--- 操作類似圖的結構的功能
數字和數學模塊
numbers--- 數字的抽象基類
math--- 數學函數
cmath--- 關於復數的數學函數
decimal--- 十進制定點和浮點運算
fractions--- 分數
random--- 生成偽隨機數
statistics--- 數學統計函數
函數式編程模塊
itertools--- 為高效循環而創建迭代器的函數
functools--- 高階函數和可調用對象上的操作
operator--- 標准運算符替代函數
文件和目錄訪問
pathlib--- 面向對象的文件系統路徑
os.path--- 常用路徑操作
fileinput--- 迭代來自多個輸入流的行
stat--- 解析stat()結果
filecmp--- 文件及目錄的比較
tempfile--- 生成臨時文件和目錄
glob--- Unix 風格路徑名模式擴展
fnmatch--- Unix 文件名模式匹配
linecache--- 隨機讀寫文本行
shutil--- 高階文件操作
數據持久化
pickle--- Python 對象序列化
reg--- 注冊配合pickle模塊使用的函數
shelve--- Python 對象持久化
marshal--- 內部 Python 對象序列化
dbm--- Unix "資料庫" 介面
sqlite3--- SQLite 資料庫 DB-API 2.0 介面模塊
數據壓縮和存檔
zlib--- 與gzip兼容的壓縮
gzip--- 對gzip格式的支持
bz2--- 對bzip2壓縮演算法的支持
lzma--- 用 LZMA 演算法壓縮
zipfile--- 使用ZIP存檔
tarfile--- 讀寫tar歸檔文件
文件格式
csv--- CSV 文件讀寫
configparser--- 配置文件解析器
tomllib--- Parse TOML files
netrc--- netrc 文件處理
plistlib--- 生成與解析 Apple.plist文件
加密服務
hashlib--- 安全哈希與消息摘要
hmac--- 基於密鑰的消息驗證
secrets--- 生成管理密碼的安全隨機數
通用操作系統服務
os--- 多種操作系統介面
io--- 處理流的核心工具
time--- 時間的訪問和轉換
argparse--- 命令行選項、參數和子命令解析器
getopt--- C 風格的命令行選項解析器
logging--- Python 的日誌記錄工具
logging.config--- 日誌記錄配置
logging.handlers--- 日誌處理程序
getpass--- 攜帶型密碼輸入工具
curses--- 終端字元單元顯示的處理
curses.textpad--- 用於 curses 程序的文本輸入控制項
curses.ascii--- 用於 ASCII 字元的工具
curses.panel--- curses 的面板棧擴展
platform--- 獲取底層平台的標識數據
errno--- 標准 errno 系統符號
ctypes--- Python 的外部函數庫
並發執行
threading--- 基於線程的並行
multiprocessing--- 基於進程的並行
multiprocessing.shared_memory--- Shared memory for direct access across processes
concurrent包
concurrent.futures--- 啟動並行任務
subprocess--- 子進程管理
sched--- 事件調度器
queue--- 一個同步的隊列類
contextvars--- 上下文變數
_thread--- 底層多線程 API
網路和進程間通信
asyncio--- 非同步 I/O
socket--- 底層網路介面
ssl--- 套接字對象的 TLS/SSL 包裝器
select--- 等待 I/O 完成
selectors--- 高級 I/O 復用庫
signal--- 設置非同步事件處理程序
mmap--- 內存映射文件支持
互聯網數據處理
email--- 電子郵件與 MIME 處理包
json--- JSON 編碼和解碼器
mailbox--- 操作多種格式的郵箱
mimetypes--- 映射文件名到 MIME 類型
base64--- Base16, Base32, Base64, Base85 數據編碼
binascii--- 二進制和 ASCII 碼互轉
quopri--- 編碼與解碼經過 MIME 轉碼的可列印數據
結構化標記處理工具
html--- 超文本標記語言支持
html.parser--- 簡單的 HTML 和 XHTML 解析器
html.entities--- HTML 一般實體的定義
XML處理模塊
xml.etree.ElementTree--- ElementTree XML API
xml.dom--- 文檔對象模型 API
xml.dom.minidom--- 最小化的 DOM 實現
xml.dom.pulldom--- 支持構建部分 DOM 樹
xml.sax--- 支持 SAX2 解析器
xml.sax.handler--- SAX 處理句柄的基類
xml.sax.saxutils--- SAX 工具集
xml.sax.xmlreader--- 用於 XML 解析器的介面
xml.parsers.expat--- 使用 Expat 的快速 XML 解析
互聯網協議和支持
webbrowser--- 方便的 Web 瀏覽器控制工具
wsgiref--- WSGI 工具和參考實現
urllib--- URL 處理模塊
urllib.request--- 用於打開 URL 的可擴展庫
urllib.response--- urllib 使用的 Response 類
urllib.parse用於解析 URL
urllib.error--- urllib.request 引發的異常類
urllib.robotparser--- robots.txt 語法分析程序
http--- HTTP 模塊
http.client--- HTTP 協議客戶端
ftplib--- FTP 協議客戶端
poplib--- POP3 協議客戶端
imaplib--- IMAP4 協議客戶端
smtplib--- SMTP 協議客戶端
uuid---RFC 4122定義的UUID對象
socketserver--- 用於網路伺服器的框架
http.server--- HTTP 伺服器
http.cookies--- HTTP狀態管理
http.cookiejar—— HTTP 客戶端的 Cookie 處理
xmlrpc--- XMLRPC 服務端與客戶端模塊
xmlrpc.client--- XML-RPC 客戶端訪問
xmlrpc.server--- 基本 XML-RPC 伺服器
ipaddress--- IPv4/IPv6 操作庫
多媒體服務
wave--- 讀寫WAV格式文件
colorsys--- 顏色系統間的轉換
國際化
gettext--- 多語種國際化服務
locale--- 國際化服務
程序框架
turtle--- 海龜繪圖
cmd--- 支持面向行的命令解釋器
shlex—— 簡單的詞法分析
Tk圖形用戶界面(GUI)
tkinter—— Tcl/Tk 的 Python 介面
tkinter.colorchooser--- 顏色選擇對話框
tkinter.font--- Tkinter 字體封裝
Tkinter 對話框
tkinter.messagebox--- Tkinter 消息提示
tkinter.scrolledtext--- 滾動文字控制項
tkinter.dnd--- 拖放操作支持
tkinter.ttk--- Tk 風格的控制項
tkinter.tix--- TK擴展包
② CentOS6.5安裝python的distruibute顯示缺少zlib模塊,但是我已經裝了,怎麼解決
是不是要32位的庫
yum install zlib.i686 -y
yum install zlib-devel.i686 -y
③ 請問…python編程中,怎麼解密base64編碼和zlib編碼
import base64,zlib
』『』解密base64編碼『』『
a=base64.b64decode('解碼內容')
』『』解密zlib編碼『』『
b=zlib.decompress('解碼內容『)
④ python怎麼知道一個字元串的編碼方式
字元串的編碼,有很多種如utf-8,gb2312,gbk,gb18030,bz2,zlib,big5,bzse64
python 對編碼的處理有兩個方法,decode()和 encode()方法
a = '你好'b = 'python'print a.decode('utf-8').encode('gbk')##decode方法把字元串轉換為unicode對象,然後通過encode方法轉換為指定的編碼字元串對象print b.decode('utf-8')##decode方法把字元串轉換為unicode對象所以要讓python(或者說機器)來識別字元串的編碼,是一件很困難的事。編碼就是漢字和整數之間的對應,同一個整數,可以在不同的編碼中,都有對應的漢字。比如下面的例子,比特流'\xe6\xb0\xb4\xe5\xa3\xb6'在四種編碼中都有對應的漢字,但只有在utf-8編碼下,它對應的漢字才有意義。我們可以一眼看出這點,可是要讓計算機做到這點,就很難了。
>>> s = '水壺'>>> s18: '\xe6\xb0\xb4\xe5\xa3\xb6'>>> print unicode(s, 'big5')瘞游ㄥ>>> print unicode(s, 'gbk')姘村6>>> print unicode(s, 'gb2312')姘村6>>> print unicode(s, 'utf-8')水壺
⑤ python中如何對文件進行 zlib壓縮
文件讀取以後也是一個大的字元串,整個一起壓縮就可以了。
示例:
fin=open('in.txt','r')
fout=open('out.txt','w')
str=fin.read()
//compressstr
fout.write(compressed_str)
fout.close()
fin.close()
⑥ python怎樣壓縮和解壓縮ZIP文件
1、說明
python使用zipfile模塊來壓縮和解壓zip文件
2、代碼
importos,os.path
importzipfile
defzip_dir(dirname,zipfilename):
filelist=[]
ifos.path.isfile(dirname):
filelist.append(dirname)
else:
forroot,dirs,filesinos.walk(dirname):
fornameinfiles:
filelist.append(os.path.join(root,name))
zf=zipfile.ZipFile(zipfilename,"w",zipfile.zlib.DEFLATED)
fortarinfilelist:
arcname=tar[len(dirname):]
#printarcname
zf.write(tar,arcname)
zf.close()
defunzip_file(zipfilename,unziptodir):
ifnotos.path.exists(unziptodir):os.mkdir(unziptodir)
zfobj=zipfile.ZipFile(zipfilename)
fornameinzfobj.namelist():
name=name.replace('\','/')
ifname.endswith('/'):
os.mkdir(os.path.join(unziptodir,name))
else:
ext_filename=os.path.join(unziptodir,name)
ext_dir=os.path.dirname(ext_filename)
ifnotos.path.exists(ext_dir):os.mkdir(ext_dir)
outfile=open(ext_filename,'wb')
outfile.write(zfobj.read(name))
outfile.close()
if__name__=='__main__':
zip_dir(r'd:/python/test',r'd:/python/test.zip')
unzip_file(r'd:/python/test.zip',r'd:/python/test2')
執行結果
順利生成相應文件
3、備注
zip文件格式是通用的文檔壓縮標准,在zipfile模塊中,使用ZipFile類來操作zip文件,下面具體介紹一下:
class zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])
創建一個ZipFile對象,表示一個zip文件。參數file表示文件的路徑或類文件對象(file-like object);參數mode指示打開zip文件的模式,默認值為'r',表示讀已經存在的zip文件,也可以為'w'或'a','w'表示新建一個zip文檔或覆蓋一個已經存在的zip文檔,'a'表示將數據附加到一個現存的zip文檔中。參數compression表示在寫zip文檔時使用的壓縮方法,它的值可以是zipfile. ZIP_STORED 或zipfile. ZIP_DEFLATED。如果要操作的zip文件大小超過2G,應該將allowZip64設置為True。
ZipFile還提供了如下常用的方法和屬性:
ZipFile.getinfo(name):
獲取zip文檔內指定文件的信息。返回一個zipfile.ZipInfo對象,它包括文件的詳細信息。將在下面 具體介紹該對象。
ZipFile.infolist()
獲取zip文檔內所有文件的信息,返回一個zipfile.ZipInfo的列表。
ZipFile.namelist()
獲取zip文檔內所有文件的名稱列表。
ZipFile.extract(member[, path[, pwd]])
⑦ Python交叉編譯失敗怎麼回事
1、在源碼 python2.7.3/Moles/Setup.dist 搜索zlib ,打開該模塊
2、繼續下去,又提示缺少zlib.h,也就是我們的交叉編譯庫中缺少zlib頭文件和庫文件
3、在http://www.zlib.net/ 下載zlib源碼,交叉編譯zlib
由於zlib 編譯不支持--host選項,所以在zlib目錄下執行如下命令
~/zlib1.2.8/# mkdir _install
~/zlib1.2.8/#CC=arm-xxxxx(你的交叉編譯器) ./configure --host=./_install(最好是絕對路徑,我偷懶了,這個是安裝目錄)
~/zlib1.2.8/# make && make install
你會在_install目錄下發現include 和 lib 目錄
下一步,我們回到第1步
為了防止交叉編譯鏈污染,我們在python目錄下創建otherinclude otherlib
把zlib下的include和lib下的內容分別按照對應名字拷貝過來
4.在Moles/setup 找到我們前面setup.dist那句話,添加 -L../otherlib -I../otherinclude 這個應該都懂的
直接make
5,如果你之前make distclean過了,沒有setup文件,請修改setup.dist.文件,重新configure!
⑧ centos上同時裝了python2和python3,現在python3里沒有zlib包,想給python3打上這個包,應該怎麼操作
下載ZLIB包的源碼。然後解開後,使用python3 setup.py install
這樣就可以安裝到PYTHON3的目錄里了。