python 实现统计ftp服务器指定目录下文件夹数目、文件数目及所有文件大小 本次主要为满足应用方核对上传到ftp服务器的文件是否缺漏。 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小
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服务器的文件是否缺漏。 主要要求:指定目录下,文件夹数目/文件数目/所有文件大小相关推荐
- vue项目如何放到服务器上,Vue项目怎么上传到云服务器
Vue项目怎么上传到云服务器 内容精选 换一换 本章节以Linux操作系统为例,指导您通过弹性云服务器内网方式连接GaussDB(for Redis)实例.使用内网连接GaussDB(for Redi ...
- Python 技术篇-用flask服务实现mac本地文件上传至windows服务器指定文件夹下实例演示
操作 linux 主机的话用 paramiko 会简单很多,可以看我下面的文章. Python 技术篇-用 paramiko 库实现 winodws 本地文件上传至 linux 服务器实例演示 首先是 ...
- 将文件上传至ftp服务器,FTP文件上传工具类,将文件上传至服务器指定目录
将文件上传至ftp服务器,传入File对象,将文件上传至ftp服务器 需要配置修改的点: 1. 服务器ip端口(服务器ip 端口22/21). 2. 服务器账号密码(服务器登录用户名密码). 3. 上 ...
- 通过Java程序将“/你的名字拼音缩写/input1/shixun1.txt”文件上传到HDFS的“/你的名字拼音缩写/java/input1/”目录下;通过Java程序将HDFS上的“/你的名字拼音
题目: 通过Java程序将"/你的名字拼音缩写/input1/shixun1.txt"文件上传到HDFS的"/你的名字拼音缩写/java/input1/"目录下 ...
- Python 技术篇-用paramiko库实现winodws本地文件上传至linux服务器实例演示
利用 paramiko 库可以实现 linux 服务器的管理. 如果想管理 windows 服务器的话就麻烦一点了,我用 flask 服务实现的,可以看我的这篇文章: Python 技术篇-用 fla ...
- win2008文件上传服务器,win2008文件上传到ftp服务器
win2008文件上传到ftp服务器 内容精选 换一换 安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ.exe.在本地主机和Windows云服务器 ...
- GameFramework:打包资源,打随app发布包,打包生成文件夹说明,上传资源至服务器,下载资源,GameFreamworkList.dat 与GameFrameworkVersion.dat
打包配置 左边为ab包,中间为ab包中内容,右边为项目中资源文件 点击save,SaveConfiguration,保存打包关系到ResourceCollection.xml中 是否使用文件系统,只能 ...
- Win10搭建FTP服务器+java代码实现文件上传至FTP服务器
Win10搭建ftp服务器 打开控制面板 -> 程序和功能,点击启用或关闭Windows功能,勾选红色方框内的选项 控制面板 -> 管理工具,如下打开IIS管理器 先在本地磁盘中创建一个目 ...
- mysql定时备份并上传ftp_Linux下定时任务实现mysql自动备份并上传远程ftp
Linux下定时任务实现mysql自动备份并上传远程ftp 1.创建保存备份文件的目录:/home/mysql_data cd /home mkdir mysql_data 2.创建备份脚本文件:/h ...
最新文章
- 自研GPU之火(续)
- GXGetImage方式连续采集和发送软触发采集
- Sencha Touch 2.3 自定义主题皮肤,颜色
- python软件包自带的集成开发环境-Python: 内置的集成开发环境-IDLE
- linux系统无法用命令行,无法在Linux操作系统上从命令行启动Kitchen Pentaho作业
- the vm session was closed before any attempt to power it on
- ubuntu16.04+opencv3.1配置
- java建立有向弧,2015安徽省JAVA版数据结构考试题库
- java static 可见性_java可重入锁可见性分析
- pdf密码忘了怎么解除
- 全面了解WDM波分复用
- UR首发丹宁无性别系列,并发布潮流丹宁大片及米卡限量礼盒
- Ubuntu18.04搭建Android源码编译环境
- html输入框密码颜色,css解决浏览器输入框记住账号密码后的背景色
- Re:if java for
- 室内定位技术:分类、方法与应用综述
- 【软件测试面试】测试开发一面面试题+回答,大伙感受下强度咋样......
- WLAN未启用DHCP
- Ceva Dsp公司及产品介绍
- speex与webrtc回声消除小结
热门文章
- 第十五期:真相了,中台到底“出路”还是“末路”?
- 数据结构:(2)什么是数据结构
- linux下ffmpeg安装
- java为何重复调用方法_通过反射调用Java中的getter:重复调用它的最快方法是什么(在性能和可伸缩性方面)?...
- python小老鼠编程_邯郸pythonnot学习费用多少
- mysql主键外键_MySQL主键和外键使用及说明
- 通过图片 找到桌面相同图片区域坐标_【Axure RP9原型案例】京东与淘宝的商品图片是如何被放大的...
- http get 消息的作用是什么?_http基础知识
- UVA - 208 Firetruck(并查集+dfs)
- Ubuntu彻底删除MySQL重装MySQL