python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小

本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏。

主要要求:指定目录下,文件夹数目/文件数目/所有文件大小,类似Windows如下功能:

模块介绍:

 1 from ftplib import FTP
 2 ftp = FTP() #设置变量
 3 ftp.set_debuglevel(2) #打开调试级别2 显示详细信息
 4 ftp.connect("IP", "port") #连接ftp, IP和端口
 5 ftp.log("user", "password") #连接的用户名、密码
 6
 7 ftp.cwd(pathname) #设置FTP当前操作的路径
 8 ftp.dir() #显示目录下的文件信息
 9 ftp.nlst() #获取目录下的文件
10 ftp.mkd(pathname) #新建远程目录
11 ftp.pwd() #返回当前所在位置
12 ftp.rmd(dirname) #删除远程目录
13 ftp.delete(filename) #删除远程文件
14 ftp.rename(from_name, to_name) #修改文件名
15 ftp.storbinaly("STOR filename.txt", file_handel, bufsize) # 上传目标文件
16 ftp.retrbinaly("RETR filename.txt", file_handel, bufsize) # 上传FTP文件

功能实现:

ftp.dir() 能显示目录下的文件信息,考虑到要分别对文件夹个数和文件数目进行统计,文件夹下存在文件夹和文件嵌套;将dir()后的目录信息放入列表,对列表进行操作;进入子文件夹后进行递归调用操作。

 1 # -*- coding: utf-8 -*-
 2
 3 from ftplib import FTP
 4
 5 ftp = FTP()
 6 ftp.connect('132.121.xx.xxx', 'xx909')
 7 ftp.login('crmyun_xxx', 'wyjjjjxJ')
 8 sum1 = 0
 9 sum2 = 0
10 value = 0
11
12 def search_file(start_dir):
13     ftp.cwd(start_dir)
14     print ftp.pwd()
15     dir_res = []
16     ftp.dir('.', dir_res.append)   #对当前目录进行dir(),将结果放入列表
17     for i in dir_res:
18         if i.startswith("d"):
19             global sum1
20             sum1 += 1
21             search_file(ftp.pwd()+"/"+i.split(" ")[-1])
22             ftp.cwd('..')
23         else:
24             global sum2, value
25             sum2 += 1
26             val = i.split(" ")[-1]
27             value += ftp.size(val)
28             if ftp.pwd().endswith('/'):
29 #                print ftp.pwd()+val+"     "+str(ftp.size(val))+" B"   #打印出每个文件路径和大小
30                  pass
31             else:
32 #                print ftp.pwd()+"/"+val+"     "+str(ftp.size(val))+" B"
33                  pass
34 def sum_file(file_path):
35     search_file(file_path)
36     print "folder number is "+str(sum1)+", file number is "+str(sum2)+", Totle size is "+str(value)+" B"
37
38
39 if __name__ == '__main__':
40     sum_file("/apps/crmyun/crmyun_755")

展示结果:

python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏。 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小相关推荐

  1. vue项目如何放到服务器上,Vue项目怎么上传到云服务器

    Vue项目怎么上传到云服务器 内容精选 换一换 本章节以Linux操作系统为例,指导您通过弹性云服务器内网方式连接GaussDB(for Redis)实例.使用内网连接GaussDB(for Redi ...

  2. Python 技术篇-用flask服务实现mac本地文件上传至windows服务器指定文件夹下实例演示

    操作 linux 主机的话用 paramiko 会简单很多,可以看我下面的文章. Python 技术篇-用 paramiko 库实现 winodws 本地文件上传至 linux 服务器实例演示 首先是 ...

  3. 将文件上传至ftp服务器,FTP文件上传工具类,将文件上传至服务器指定目录

    将文件上传至ftp服务器,传入File对象,将文件上传至ftp服务器 需要配置修改的点: 1. 服务器ip端口(服务器ip 端口22/21). 2. 服务器账号密码(服务器登录用户名密码). 3. 上 ...

  4. 通过Java程序将“/你的名字拼音缩写/input1/shixun1.txt”文件上传到HDFS的“/你的名字拼音缩写/java/input1/”目录下;通过Java程序将HDFS上的“/你的名字拼音

    题目: 通过Java程序将"/你的名字拼音缩写/input1/shixun1.txt"文件上传到HDFS的"/你的名字拼音缩写/java/input1/"目录下 ...

  5. Python 技术篇-用paramiko库实现winodws本地文件上传至linux服务器实例演示

    利用 paramiko 库可以实现 linux 服务器的管理. 如果想管理 windows 服务器的话就麻烦一点了,我用 flask 服务实现的,可以看我的这篇文章: Python 技术篇-用 fla ...

  6. win2008文件上传服务器,win2008文件上传到ftp服务器

    win2008文件上传到ftp服务器 内容精选 换一换 安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ.exe.在本地主机和Windows云服务器 ...

  7. GameFramework:打包资源,打随app发布包,打包生成文件夹说明,上传资源至服务器,下载资源,GameFreamworkList.dat 与GameFrameworkVersion.dat

    打包配置 左边为ab包,中间为ab包中内容,右边为项目中资源文件 点击save,SaveConfiguration,保存打包关系到ResourceCollection.xml中 是否使用文件系统,只能 ...

  8. Win10搭建FTP服务器+java代码实现文件上传至FTP服务器

    Win10搭建ftp服务器 打开控制面板 -> 程序和功能,点击启用或关闭Windows功能,勾选红色方框内的选项 控制面板 -> 管理工具,如下打开IIS管理器 先在本地磁盘中创建一个目 ...

  9. mysql定时备份并上传ftp_Linux下定时任务实现mysql自动备份并上传远程ftp

    Linux下定时任务实现mysql自动备份并上传远程ftp 1.创建保存备份文件的目录:/home/mysql_data cd /home mkdir mysql_data 2.创建备份脚本文件:/h ...

最新文章

  1. 自研GPU之火(续)
  2. GXGetImage方式连续采集和发送软触发采集
  3. Sencha Touch 2.3 自定义主题皮肤,颜色
  4. python软件包自带的集成开发环境-Python: 内置的集成开发环境-IDLE
  5. linux系统无法用命令行,无法在Linux操作系统上从命令行启动Kitchen Pentaho作业
  6. the vm session was closed before any attempt to power it on
  7. ubuntu16.04+opencv3.1配置
  8. java建立有向弧,2015安徽省JAVA版数据结构考试题库
  9. java static 可见性_java可重入锁可见性分析
  10. pdf密码忘了怎么解除
  11. 全面了解WDM波分复用
  12. UR首发丹宁无性别系列,并发布潮流丹宁大片及米卡限量礼盒
  13. Ubuntu18.04搭建Android源码编译环境
  14. html输入框密码颜色,css解决浏览器输入框记住账号密码后的背景色
  15. Re:if java for
  16. 室内定位技术:分类、方法与应用综述
  17. 【软件测试面试】测试开发一面面试题+回答,大伙感受下强度咋样......
  18. WLAN未启用DHCP
  19. Ceva Dsp公司及产品介绍
  20. speex与webrtc回声消除小结

热门文章

  1. 第十五期:真相了,中台到底“出路”还是“末路”?
  2. 数据结构:(2)什么是数据结构
  3. linux下ffmpeg安装
  4. java为何重复调用方法_通过反射调用Java中的getter:重复调用它的最快方法是什么(在性能和可伸缩性方面)?...
  5. python小老鼠编程_邯郸pythonnot学习费用多少
  6. mysql主键外键_MySQL主键和外键使用及说明
  7. 通过图片 找到桌面相同图片区域坐标_【Axure RP9原型案例】京东与淘宝的商品图片是如何被放大的...
  8. http get 消息的作用是什么?_http基础知识
  9. UVA - 208 Firetruck(并查集+dfs)
  10. Ubuntu彻底删除MySQL重装MySQL