一尘不染

Python和urllib

python

我正在尝试使用urllib从ftp普查站点下载一个zip文件(“
tl_2008_01001_edges.zip”)。压缩文件以什么格式保存,如何保存?

我对Python还是很陌生,不了解urllib是如何工作的。

这是我的尝试:

import urllib, sys

zip_file = urllib.urlretrieve("ftp://ftp2.census.gov/geo/tiger/TIGER2008/01_ALABAMA/Autauga_County/", "tl_2008_01001_edges.zip")

如果我知道ftp文件夹列表(在这种情况下为县),是否可以使用glob函数浏览ftp站点列表?

谢谢。


阅读 252

收藏
2021-01-20

共1个答案

一尘不染

使用urllib2.urlopen()的zip文件数据
目录列表。

要使用zipfile模块处理zip文件,您可以将其写入磁盘文件,然后将其传递给zipfile.ZipFile构造函数。使用read()所返回的类似文件的对象,检索数据非常简单urllib2.urlopen()

提取目录:

>>> files = urllib2.urlopen('ftp://ftp2.census.gov/geo/tiger/TIGER2008/01_ALABAMA/').read().splitlines()
>>> for l in files[:4]: print l
... 
drwxrwsr-x    2 0        4009         4096 Nov 26  2008 01001_Autauga_County
drwxrwsr-x    2 0        4009         4096 Nov 26  2008 01003_Baldwin_County
drwxrwsr-x    2 0        4009         4096 Nov 26  2008 01005_Barbour_County
drwxrwsr-x    2 0        4009         4096 Nov 26  2008 01007_Bibb_County
>>>

或者,拆分目录名称:

>>> for l in files[:4]: print l.split()[-1]
... 
01001_Autauga_County
01003_Baldwin_County
01005_Barbour_County
01007_Bibb_County
2021-01-20