簡體   English   中英

如何使用python從一個zip中的URL保存多個文件?

[英]How to save multiple file from URLs in one zip using python?

我正在使用漂亮的湯從URL抓取文件,然后希望使用Python將這些文件存儲在單個zip中。 以下是我針對一個網址的代碼段。

fz = zipfile.ZipFile('C:\\Users\\ADMIN\\data\\data.zip', 'w')


response = urllib2.urlopen(url/file_name.txt)
file = open('C:\\Users\\ADMIN\\data\\filename.txt','w')
file.write(response.read())
file.close()

fz.write('C:\\Users\\ADMIN\\data\\filename.txt',compress_type=zipfile.ZIP_DEFLATED) fz.close()

此代碼段對我不起作用,任何人都可以幫助我。 低於錯誤:

WindowsError:[錯誤2]系統找不到指定的文件:'C:\\ Users \\ ADMIN \\ data \\ filename.txt'

但是該位置存在文件。

采用:

fz.writestr("file_name", url.read())

根據需要多次。 即每個文件一個writestr()。 在新ZIP的開頭選擇zip的模式(放氣)。

因此,您無需將文件保存到磁盤,然后打包。 只需獲取html的名稱和內容並將其提供給writestr()。 ZIP將'/'作為路徑分隔符。 因此,您可以使用諸如:“ / some_dir / some_subdir / index.html”作為子目錄,或使用“ /index.html”將文件放入根目錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM