标题: 【求助】怎们用FTPlib上传整个目录,急!!! [打印本页] 作者: jarways 时间: 2008-05-11 14:46 标题: 【求助】怎们用FTPlib上传整个目录,急!!! 在教程中我看到怎么上传一个文件,但现在我想上传整个目录的话该怎么做,是不是要先读出有哪些文件,软后一个一个传?
好像实现起来很复杂呀,有写好的代码吗?
先谢谢了作者: luffy.deng 时间: 2008-05-11 19:51
一个个传也不麻烦吧?作者: jarways 时间: 2008-05-12 09:46
可是如果是多层目录呢,太多的文件该怎么办?
有写好的上传目录的lib吗?作者: limodou 时间: 2008-05-12 15:57
先遍历本地目录,可能使用os.walk或os.path.walk,两者略有差异。然后对每个文件或目录决定是上传还是创建目录。好象还没有简单的自动上传的模块。作者: luffy.deng 时间: 2008-05-12 21:34
按照limodou 的思路写的,没有测试不知道能不能工作
from ftplib import FTP
import os
ftp=FTP('')
for d in os.walk('g:/test'):
ftp.mkd(d[0])
ftp.cwd(d[0])
for cdir in d[1]:
ftp.mkd(cdir)
for f in d[2]:
ftp.ftp.storbinary(f)作者: limodou 时间: 2008-05-13 08:35
差不多,可能再加上错误处理就差不多了。比如后台已经有目录存在会不会报错。这个试一试就知道了。作者: jarways 时间: 2008-05-13 15:09
非常感谢luffy.deng的支持!
很简洁的代码!
好像有一点小问题:粗体的创建目录不需要,前面已经建好了
from ftplib import FTP
import os
ftp=FTP('')
for d in os.walk('g:/test'):
ftp.mkd(d[0])
ftp.cwd(d[0]) for cdir in d[1]:
ftp.mkd(cdir)
for f in d[2]:
ftp.ftp.storbinary(f)