[英]How to extract specific file with gzip
我剛剛下載了一個.gz 文件,其中包含很多文件夾和文件,其中包括一個包含德語句子的 .txt 文件。
url = 'https://pcai056.informatik.uni-leipzig.de/downloads/corpora/{}'
filename = 'deu-be_web_2013_10K.tar.gz'
with gzip.open(filename, 'wb') as gz:
download_url = url.format(filename)
r = requests.get(download_url)
gz.write(r.content)
我只需要 .txt 文件,我想知道如果可能的話,我如何只能提取這個文件。 我設法做的就是讀取整個文件,然后將其寫入 .txt 文件,但它很亂,並且包含很多不需要的文本。
with gzip.open(path, 'rb') as gz, open('something.txt', 'wb') as f:
content = gz.read()
f.write(content)
這不僅僅是一個 .gz 文件。 它是一個 .tar.gz 文件,其中 tar 是一種將多個文件合並為一個文件的歸檔格式,而 gzip 用於壓縮該單個文件。 gzip 只能提取單個 tar 文件,但是您需要一些東西來解釋 tar 文件格式以提取其中包含的文件之一。
使用tarfile ,而不是 gzip。 用"r:gz"
打開也會為你解壓。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.