當前位置:首頁 » 編程語言 » gzippython

gzippython

發布時間: 2022-07-17 23:03:24

『壹』 python中accept-encoding gzip deflate怎樣解壓

看你的請求頭 GET /xxxx/xxxx/ HTTP/1.1 Accept-Encoding: gzip,deflate,sdch 是不是有這個,gzip 如果是這個就是亂碼 因為是壓縮的,你把這個gzip去了就行了

『貳』 python怎麼解壓壓縮的字元串數據

一個簡單的例子
1 import urllib2
2 from StringIO import StringIO
3 import gzip
4
5 def loadData(url):
6 request = urllib2.Request(url)
7 request.add_header('Accept-encoding', 'gzip')
8 response = urllib2.urlopen(request)
9 if response.info().get('Content-Encoding') == 'gzip':
10 print 'gzip enabled'
11 buf = StringIO(response.read())
12 f = gzip.GzipFile(fileobj=buf)
13 data = f.read()
14 else:
15 data = response.read()
16 return data

~如果你認可我的回答,請及時點擊【採納為滿意回答】按鈕
~~手機提問的朋友在客戶端右上角評價點【滿意】即可。

『叄』 python如何判斷一個文件是否為gzip文件

本文實例講述了Python實現壓縮與解壓gzip大文件的方法。分享給大家供大家參考,具體如下:
#encoding=utf-8
#author: walker
#date: 2015-10-26
#summary: 測試gzip壓縮/解壓文件
import gzip
BufSize = 1024*8
def gZipFile(src, dst):
fin = open(src, 'rb')
fout = gzip.open(dst, 'wb')
in2out(fin, fout)
def gunZipFile(gzFile, dst):
fin = gzip.open(gzFile, 'rb')
fout = open(dst, 'wb')
in2out(fin, fout)
def in2out(fin, fout):
while True:
buf = fin.read(BufSize)
if len(buf) < 1:
break
fout.write(buf)
fin.close()
fout.close()
if __name__ == '__main__':
src = r'D:\tmp\src.txt'
dst = r'D:\tmp\src.txt.gz'
ori = r'D:\tmp\ori.txt'
gZipFile(src, dst)
print('gZipFile over!')
gunZipFile(dst, ori)
print('gunZipFile over!')

也可以簡單地封裝成一個類:
class GZipTool:
def __init__(self, bufSize):
self.bufSize = bufSize
self.fin = None
self.fout = None
def compress(self, src, dst):
self.fin = open(src, 'rb')
self.fout = gzip.open(dst, 'wb')
self.__in2out()
def decompress(self, gzFile, dst):
self.fin = gzip.open(gzFile, 'rb')
self.fout = open(dst, 'wb')
self.__in2out()
def __in2out(self,):
while True:
buf = self.fin.read(self.bufSize)
if len(buf) < 1:
break
self.fout.write(buf)
self.fin.close()
self.fout.close()

『肆』 python怎麼打開url上的gzip文件

先下載,再解壓。
這兩個步驟都可以通過python調用Linux系統命令完成:
下載用curl命令,解壓用tar命令。

『伍』 python如何讀取通過gzip壓縮的字元串

import osimport gzip # 那是因為你調用了read方法,而這個方法會把文件一股腦兒讀取出來的# 為了便於你迭代,你可以在這里使用一個生成器def read_gz_file(path): if os.path.exists(path): with gzip.open(path, 'rt') as pf: for line in pf: yield line else: print('the path [{}] is not exist!'.format(path)) con = read_gz_file('abc.gz')if getattr(con, '__iter__', None): for line in con: print(line, end = '')

『陸』 如何系統地自學 Python

是否非常想學好 Python,一方面被瑣事糾纏,一直沒能動手,另一方面,擔心學習成本太高,心裡默默敲著退堂鼓?

幸運的是,Python 是一門初學者友好的編程語言,想要完全掌握它,你不必花上太多的時間和精力。

Python 的設計哲學之一就是簡單易學,體現在兩個方面:

  • 語法簡潔明了:相對 Ruby 和 Perl,它的語法特性不多不少,大多數都很簡單直接,不玩兒玄學。

  • 切入點很多:Python 可以讓你可以做很多事情,科學計算和數據分析、爬蟲、Web 網站、游戲、命令行實用工具等等等等,總有一個是你感興趣並且願意投入時間的。


  • 廢話不多說,學會一門語言的捷徑只有一個: Getting Started

    ¶ 起步階段
    任何一種編程語言都包含兩個部分:硬知識和軟知識,起步階段的主要任務是掌握硬知識。

    硬知識
    「硬知識」指的是編程語言的語法、演算法和數據結構、編程範式等,例如:變數和類型、循環語句、分支、函數、類。這部分知識也是具有普適性的,看上去是掌握了一種語法,實際是建立了一種思維。例如:讓一個 java 程序員去學習 Python,他可以很快的將 Java 中的學到的面向對象的知識 map 到 Python 中來,因此能夠快速掌握 Python 中面向對象的特性。

    如果你是剛開始學習編程的新手,一本可靠的語法書是非常重要的。它看上去可能非常枯燥乏味,但對於建立穩固的編程思維是必不可少。

    下面列出了一些適合初學者入門的教學材料:

    廖雪峰的 Python 教程 Python 中文教程的翹楚,專為剛剛步入程序世界的小白打造。

    笨方法學 Python 這本書在講解 Python 的語法成分時,還附帶大量可實踐的例子,非常適合快速起步。

    The Hitchhiker』s Guide to Python! 這本指南著重於 Python 的最佳實踐,不管你是 Python 專家還是新手,都能獲得極大的幫助。

    Python 的哲學:

  • 用一種方法,最好是只有一種方法來做一件事。
  • 學習也是一樣,雖然推薦了多種學習資料,但實際學習的時候,最好只選擇其中的一個,堅持看完。

    必要的時候,可能需要閱讀講解數據結構和演算法的書,這些知識對於理解和使用 Python 中的對象模型有著很大的幫助。

    軟知識
    「軟知識」則是特定語言環境下的語法技巧、類庫的使用、IDE的選擇等等。這一部分,即使完全不了解不會使用,也不會妨礙你去編程,只不過寫出的程序,看上去顯得「傻」了些。

    對這些知識的學習,取決於你嘗試解決的問題的領域和深度。對初學者而言,起步階段極易走火,或者在選擇 Python 版本時徘徊不決,一會兒看 2.7 一會兒又轉到 3.0,或者徜徉在類庫的大海中無法自拔,Scrapy,Numpy,Django 什麼都要試試,或者參與編輯器聖戰、大括弧縮進探究、操作系統辯論賽等無意義活動,或者整天跪舔語法糖,老想著怎麼一行代碼把所有的事情做完,或者去構想聖潔的性能安全通用性健壯性全部滿分的解決方案。

    很多「大牛」都會告誡初學者,用這個用那個,少走彎路,這樣反而把初學者推向了真正的彎路。
    還不如告訴初學者,學習本來就是個需要你去走彎路出 Bug,只能腳踏實地,沒有奇跡只有狗屎的過程。

    選擇一個方向先走下去,哪怕臟丑差,走不動了再看看有沒有更好的解決途徑。

    自己走了彎路,你才知道這么做的好處,才能理解為什麼人們可以手寫狀態機去匹配卻偏要發明正則表達式,為什麼面向過程可以解決卻偏要面向對象,為什麼我可以操縱每一根指針卻偏要自動管理內存,為什麼我可以嵌套回調卻偏要用 Promise...

    更重要的是,你會明白,高層次的解決方法都是對低層次的封裝,並不是任何情況下都是最有效最合適的。

    技術涌進就像波浪一樣,那些陳舊的封存已久的技術,消退了遲早還會涌回的。就像現在移動端應用、手游和 HTML5 的火熱,某些方面不正在重演過去 PC 的那些歷史么?

    因此,不要擔心自己走錯路誤了終身,堅持並保持進步才是正道。

    起步階段的核心任務是掌握硬知識,軟知識做適當了解,有了穩固的根,粗壯的枝幹,才能長出濃密的葉子,結出甜美的果實。

    ¶ 發展階段
    完成了基礎知識的學習,必定會感到一陣空虛,懷疑這些語法知識是不是真的有用。

    沒錯,你的懷疑是非常正確的。要讓 Python 發揮出它的價值,當然不能停留在語法層面。
    發展階段的核心任務,就是「跳出 Python,擁抱世界」。

    在你面前會有多個分支:科學計算和數據分析、爬蟲、Web 網站、游戲、命令行實用工具等等等等,這些都不是僅僅知道 Python 語法就能解決的問題。

    拿爬蟲舉例,如果你對計算機網路,HTTP 協議,HTML,文本編碼,JSON 一無所知,你能做好這部分的工作么?而你在起步階段的基礎知識也同樣重要,如果你連循環遞歸怎麼寫都還要查文檔,連 BFS 都不知道怎麼實現,這就像工匠做石凳每次起錘都要思考錘子怎麼使用一樣,非常低效。

    在這個階段,不可避免要接觸大量類庫,閱讀大量書籍的。

    類庫方面
    「Awesome Python 項目」:vinta/awesome-python · GitHub
    這里列出了你在嘗試解決各種實際問題時,Python 社區已有的工具型類庫,如下圖所示:

    vinta/awesome-python

    你可以按照實際需求,尋找你需要的類庫。

    至於相關類庫如何使用,必須掌握的技能便是閱讀文檔。由於開源社區大多數文檔都是英文寫成的,所以,英語不好的同學,需要惡補下。

    書籍方面
    這里我只列出一些我覺得比較有一些幫助的書籍,詳細的請看豆瓣的書評:

    科學和數據分析:
    ❖「集體智慧編程」:集體智慧編程 (豆瓣)
    ❖「數學之美」:數學之美 (豆瓣)
    ❖「統計學習方法」:統計學習方法 (豆瓣)
    ❖「Pattern Recognition And Machine Learning」:Pattern Recognition And Machine Learning (豆瓣)
    ❖「數據科學實戰」:數據科學實戰 (豆瓣)
    ❖「數據檢索導論」:信息檢索導論 (豆瓣)

    爬蟲:
    ❖「HTTP 權威指南」:HTTP權威指南 (豆瓣)

    Web 網站:
    ❖「HTML & CSS 設計與構建網站」:HTML & CSS設計與構建網站 (豆瓣)

    ...

    列到這里已經不需要繼續了。

    聰明的你一定會發現上面的大部分書籍,並不是講 Python 的書,而更多的是專業知識。

    事實上,這里所謂「跳出 Python,擁抱世界」,其實是發現 Python 和專業知識相結合,能夠解決很多實際問題。這個階段能走到什麼程度,更多的取決於自己的專業知識。

    ¶ 深入階段
    這個階段的你,對 Python 幾乎了如指掌,那麼你一定知道 Python 是用 C 語言實現的。

    可是 Python 對象的「動態特徵」是怎麼用相對底層,連自動內存管理都沒有的C語言實現的呢?這時候就不能停留在表面了,勇敢的拆開 Python 的黑盒子,深入到語言的內部,去看它的歷史,讀它的源碼,才能真正理解它的設計思路。

    這里推薦一本書:
    「Python 源碼剖析」:Python源碼剖析 (豆瓣)
    這本書把 Python 源碼中最核心的部分,給出了詳細的闡釋,不過閱讀此書需要對 C 語言內存模型和指針有著很好的理解。

    另外,Python 本身是一門雜糅多種範式的動態語言,也就是說,相對於 C 的過程式、 Haskell 等的函數式、Java 基於類的面向對象而言,它都不夠純粹。換而言之,編程語言的「道學」,在 Python 中只能有限的體悟。學習某種編程範式時,從那些面向這種範式更加純粹的語言出發,才能有更深刻的理解,也能了解到 Python 語言的根源。

    這里推薦一門公開課
    「編程範式」:斯坦福大學公開課:編程範式
    講師高屋建瓴,從各種編程範式的代表語言出發,給出了每種編程範式最核心的思想。

    值得一提的是,這門課程對C語言有非常深入的講解,例如C語言的范型和內存管理。這些知識,對閱讀 Python 源碼也有大有幫助。

    Python 的許多最佳實踐都隱藏在那些眾所周知的框架和類庫中,例如 Django、Tornado 等等。在它們的源代碼中淘金,也是個不錯的選擇。

    ¶ 最後的話
    每個人學編程的道路都是不一樣的,其實大都殊途同歸,沒有迷路的人只有不能堅持的人!

    希望想學 Python 想學編程的同學,不要猶豫了,看完這篇文章,

    Just Getting Started !!!

『柒』 java gzip 和 python gzip 有什麼區別

一個zip可以內藏多個文件 狹義的gzip僅對單個文件壓縮,不能打包多個文件。 tar.gzip或tgz可以打包多個文件,屬於固實壓縮,壓縮比較高,但隨機存取單個文件的效率不如zip..

『捌』 如何列出gzip文件的內容而無需在python中解壓縮

你可以使用TarFile.getnames
$ b
#!/ usr / bin / env python3

import tarfile
tarf = tarfile.open('foo。 tar gz','r:gz')
print(tarf.getnames())

如果您想要mtime值,可以使用getmembers()。

print([member.name,member.mtime)for member in tarf.getmembers()])

熱點內容
增量調制編解碼實驗報告 發布:2025-02-01 14:30:30 瀏覽:785
不良人2無敵傷害腳本 發布:2025-02-01 14:23:04 瀏覽:394
地圖flash源碼 發布:2025-02-01 14:13:33 瀏覽:957
家庭影院配置什麼樣的音響 發布:2025-02-01 14:04:33 瀏覽:545
蘋果手機存儲空間不能用怎麼回事 發布:2025-02-01 14:03:04 瀏覽:258
qq易語言盜號源碼 發布:2025-02-01 14:01:25 瀏覽:812
源神比較好的雲伺服器 發布:2025-02-01 13:55:27 瀏覽:208
黑蘋果idea編譯慢 發布:2025-02-01 13:45:30 瀏覽:551
c和linux 發布:2025-02-01 13:39:38 瀏覽:177
android實現列表 發布:2025-02-01 13:38:06 瀏覽:103