# -*- 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在哪里写代码-通过python下载FTP上的文件夹的实现代码相关推荐

  1. ftp 上传文件夹_建站上传下载FTP工具

    做网站的朋友,经常要在本地和服务器之间上传下载源码,给大家推荐两款好用的FTP上传下载工具,便于大家开发维护站点. 一.FileZilla FileZilla比其他任何一款FTP软件都要简单 多协议支 ...

  2. python批处理代码_Python文件夹批处理操作代码实例

    如图所示,有一个test文件夹,里面有3个子文件夹,每个子文件夹中有若干图片文件 #场景1 读取一个文件夹中所有文件,存入到一个list表中 #coding:utf-8 from __future__ ...

  3. Python使用FTP上传文件

    Python使用FTP上传文件 本文主要介绍如何使用Python通过FTP上传文件. FTP简介 FTP即文件传输协议(File Transfer Protocol),是用于在网络上进行文件传输的一种 ...

  4. linux ftp 550 下载,linux ftp服务器上传文件夹时提示550错误问题解决方法

    linux ftp服务器上传文件夹时提示550错误问题解决方法 标签: linux ftp服务器 550 中文文件夹上传错误 问题 分类: 计算机 2010-11-06 22:47 前几天在实验室搭配 ...

  5. springMVC下载FTP上的文件

    springMVC下载FTP上的文件 今天没时间写.先上传 一个工具类 工具类 package com.utils;import java.io.File; import java.io.FileOu ...

  6. 用 Python 批量提取 PDF 的图片,并存储到指定文件夹

    今天给大家分享如何用 Python 批量提取 PDF 的图片,并存储到指定文件夹. 一.实现效果图 二.基于 fitz 库和正则搜索提取图片 fitz 库是 pymupdf 中的一个模块,用它来提取 ...

  7. Linux chmod命令修改文件与文件夹权限命令代码

    在Linux中要修改一个文件夹或文件的权限我们需要用到linux chmod命令来做,下面我写了几个简单的实例大家可参考一下. 语法如下: chmod [who] [+ | - | =] [mode] ...

  8. python 上传文件夹,python – 使用Flask上传文件夹/文件

    我可以通过这个例子上传一个带烧瓶的文件: 但我不知道如何上传文件夹或一些文件.我搜索过,我发现了这个: Uploading multiple files with Flask.最后,我得到了如何上传多 ...

  9. MFC实现打开、保存文件对话框和浏览文件夹对话框,把代码直接拷贝到要响应的按钮函数下面就行了

    MFC实现打开.保存文件对话框和浏览文件夹对话框,把代码直接拷贝到要响应的按钮函数下面就行了 一.打开.保存对话框 文件对话框属于通用对话框范畴(另外还有颜色,查找,查找替换,字体,打印等对话框). ...

最新文章

  1. 多校第六场 HDU 4927 JAVA大数类+模拟
  2. 大数据量表中,增加一个NOT NULL的新列
  3. Ken Thompson爷爷的经典复制自身代码程序 - Python版本(只用两行!)
  4. QueryPage使用示例
  5. ❤️六W字《计算机基础知识》(三)(建议收藏)❤️
  6. 程序员---不要对自己说“不可能”
  7. MacOS emacs Command “pyls“ is not present on the path.报错及解决
  8. centos7 网卡配置vlan_CentOS7网卡创建vlan步骤
  9. CCNA培训课总结笔记--RIP的基本配置(五)
  10. 当磁盘工具无法修复磁盘时,你可以这样做!
  11. JVM学习笔记 -- 从一段几乎所有人代码都会犯错的代码开始
  12. Linux下passwd和shadow文件内容详解
  13. 深入理解信息科学技术与创新之“自然智能”
  14. 数学建模之斯皮尔曼相关系数的假设检验
  15. etf基金代码大全_主要高股息ETF基金汇总
  16. Word 紧贴表格之后添加新行
  17. java 反射基础_Java反射的基本使
  18. Mysql原理篇之索引不懂不要瞎用---04
  19. Linux系统安装--LInix系统随笔(二)
  20. ebs知识点100题

热门文章

  1. 请问anroid怎么播放aac文件。
  2. ubuntu 下 SubLime Text2 使用之创建快捷方式
  3. 关于delphi中的register, pascal, cdecl, stdcall, safecall
  4. CHANGE_DOCUMENT
  5. 详细的摄像头模组工作原理!!!(转)
  6. 2017-2018-2 20179207 《网络攻防技术》第五周作业
  7. intellij idea 实用快捷键
  8. win8.1 无法安装 net framework3.5的解决办法
  9. SSAS分区数据量过大处理参考 转- Recommended Practices with Partitions and Aggregations
  10. android之实现各个组件点击事件监听