统一目录树在python中遍历本地文件,ftp,http

时间:2012-02-24 17:49:23

标签: python ftp beautifulsoup os.walk

在我的testkernel程序中,我想通过各种协议遍历目录树。我认为我想要的是os.walk,但它适用于ftp,也适用于典型的http目录列表(如http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.2-precise/)。这符合openanything.py

的精神

对于FTP行走,我发现了几个选项,包括ftptoolftputil模块,它具有Ubuntu的优势。我已经使用Beautiful Soup实现了我自己非常简单的http目录列表的递归遍历。但在我将它们与os.walk组合在一起之前,我想知道它是否已经完成。

我知道http walk的语义没有像文件系统和ftp一样明确定义,所以我想我必须猜测目录是由一个带有斜杠的URL表示的,它扩展了URL的URL目录。而且我必须小心避免无限次走。但即使是os.walk的一个子集(例如只有topdown),这种事情似乎也很有用。

这已经完成了吗?有什么建议吗?

1 个答案:

答案 0 :(得分:-1)

好吧,我写了一段实际遍历网页目录并下载文件的代码: (虽然这段代码可能需要改进,如图像下载,pdf下载等), 但无论如何这里是源/模块:

Download files and dirs recursively from a remote source