手机
当前位置:查字典教程网 >脚本专栏 >python >通过python下载FTP上的文件夹的实现代码
通过python下载FTP上的文件夹的实现代码
摘要:复制代码代码如下:#-*-encoding:utf8-*-importosimportsysimportftplibclassFTPSync...

复制代码 代码如下:

# -*- encoding: utf8 -*-

import os

import sys

import ftplib

class FTPSync(object):

def __init__(self):

self.conn = ftplib.FTP('10.22.33.46', 'user', 'pass')

self.conn.cwd('/') # 远端FTP目录

os.chdir('/data/') # 本地下载目录

def get_dirs_files(self):

u''' 得到当前目录和文件, 放入dir_res列表 '''

dir_res = []

self.conn.dir('.', dir_res.append)

files = [f.split(None, 8)[-1] for f in dir_res if f.startswith('-')]

dirs = [f.split(None, 8)[-1] for f in dir_res if f.startswith('d')]

return (files, dirs)

def walk(self, next_dir):

print 'Walking to', next_dir

self.conn.cwd(next_dir)

try:

os.mkdir(next_dir)

except OSError:

pass

os.chdir(next_dir)

ftp_curr_dir = self.conn.pwd()

local_curr_dir = os.getcwd()

files, dirs = self.get_dirs_files()

print "FILES: ", files

print "DIRS: ", dirs

for f in files:

print next_dir, ':', f

outf = open(f, 'wb')

try:

self.conn.retrbinary('RETR %s' % f, outf.write)

finally:

outf.close()

for d in dirs:

os.chdir(local_curr_dir)

self.conn.cwd(ftp_curr_dir)

self.walk(d)

def run(self):

self.walk('.')

def main():

f = FTPSync()

f.run()

if __name__ == '__main__':

main()

【通过python下载FTP上的文件夹的实现代码】相关文章:

python 查找文件夹下所有文件 实现代码

python 实现文件的递归拷贝实现代码

Python 初始化多维数组代码

Python 流程控制实例代码

python 不关闭控制台的实现方法

python 实现堆排序算法代码

py中的目录与文件判别代码

Python 文件重命名工具代码

用python实现批量重命名文件的代码

Python天气预报采集器实现代码(网页爬虫)

精品推荐
分类导航