【背景】

本程序遍历 ftp 目录,列出单个文件大小,统计目录个数、文件个数、文件总大小。目的是在批量下载 FTP 文件时,不严格的验证下载结果的正确性。

【环境】

Windows10 下 Python 3.6.5,第三方包 ftputil 3.4。

【ftp_stat】

# encoding: utf-8
# author: walker
# date: 2018-10-12
# summary: 遍历 ftp 目录,列出单个文件大小,统计目录个数、文件个数、文件总大小。import time
import ftputilFtpHost = r'ftp.ncbi.nlm.nih.gov'  # FTP 主机
SubDir = r'/pubmed/baseline/'   # 最后的斜线有无不影响,根目录用单斜线即可
FtpUser = r'anonymous'
FtpPwd = r''
FtpEncoding = r'utf-8'def Main():r"""遍历 ftp 目录,列出单个文件大小,统计目录个数、文件个数、文件总大小。"""fileCnt = 0fileSize = 0dirCnt = 0with ftputil.FTPHost(host=FtpHost, user=FtpUser, passwd=FtpPwd) as host:for parent, dirnames, filenames in host.walk(SubDir):for filename in filenames:fileCnt += 1pathfile = host.path.join(parent, filename)singleFileSize = host.path.getsize(pathfile)fileSize += singleFileSizeprint('\tfile: %s, %d bytes' %(pathfile.encode('latin-1').decode(FtpEncoding), singleFileSize))for dirname in dirnames:dirCnt += 1pathdir = host.path.join(parent, dirname)print('\tdir: %s' % pathdir.encode('latin-1').decode(FtpEncoding))print('fileCnt: %d, fileSize: %d B/%.2f KB/%.2f MB/%.2f GB, dirCnt: %d'% (fileCnt, fileSize, fileSize/1024, fileSize/1024/1024, fileSize/1024/1024/1024, dirCnt))print('fileCnt: %d, fileSize: %d B/%.2f KB/%.2f MB/%.2f GB, dirCnt: %d'% (fileCnt, fileSize, fileSize/1024, fileSize/1024/1024, fileSize/1024/1024/1024, dirCnt))if __name__ == '__main__':Main()print('current time: %s\n'% time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))

【相关阅读】

  • Python3 备份 MySQL/MariaDB(本地+FTP)

  • FTP 服务端:pyftpdlib

  • FTP 同步:  pyftpsync

  • 最好的 FTP 客户端软件: FileZilla

*** walker ***

转载于:https://blog.51cto.com/walkerqt/2299304

Python3 统计 ftp 文件个数和大小相关推荐

  1. centos查看当前目录下文件大小_centos Linux 统计某个文件夹占用空间大小

    1.查看当前文件夹下面各个文件的大小 ``` ll -lh ``` 2.查看某文件夹占用总的空间大小 ``` du -h --max-depth=1 /usr/local/ 8.0K /usr/loc ...

  2. linux如何统计目录下的文件个数,linux怎么查看一个目录下的文件数量

    有时候需要看文件夹下有多少文件,那么就需要用到以下指令 $ls -l | grep -c '^-' 个grep是啥意思呢?我们man一下 $man grep 会看到以下描述: SYNOPSIS gre ...

  3. Linux学习:读取目录内容 (目录名和类型)和递归统计指定目录下普通文件个数练习

    一.读取目录内容 #include <stdio.h> #include <unistd.h> #include <dirent.h> #include <s ...

  4. 文件个数java_java程序统计某个目录的文件的个数

    java统计某个文件夹下面的.txt文件的个数(递归) java怎么才能统计某个文件夹下面的指定类型的文件个数,我们可以通过 java 的 File 类加上递归来实现遍历操作! 想到删除指定类型的文件 ...

  5. python3 统计文件夹下文件(含文件夹)的个数

    import osdef dircount(DIR):return len(os.listdir(DIR)) 经检验,统计结果不包含子文件夹中的个数,只统计至文件夹下的文件夹以及文件的个数.如果需要统 ...

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

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

  7. Java的知识点27——打印子孙级目录和文件的名称、统计文件夹的大小、编码与解码的应用

    打印子孙级目录和文件的名称 package cn.dym12;import java.io.File;/*** 递归:方法自己调用自己* 打印子孙级目录和文件的名称* @author Administ ...

  8. 统计HDFS文件数量,大小,以及在某范围大小的文件数量

    统计HDFS文件数量大小,小于20M文件数量 hadoop fs -du -h / # 统计文件大小 hadoop fs -count / # 统计文件数量,返回的数据是目录个数,文件个数,文件总计大 ...

  9. Python练手小程序—统计英文文件中单词出现的的个数

    在GitHub上发现一些很有意思的项目,由于本人作为Python的初学者,编程代码能力相对薄弱,为了加强Python的学习,特此利用前辈们的学习知识成果,自己去亲自实现. 一周没有更新了,主要还是自己 ...

最新文章

  1. c语言方阵的转置程序,C程序查找矩阵的转置
  2. 一个屌丝程序猿的人生(一百零九)
  3. 斐讯K1K2刷机固件教程!最新最全整理版!(小米路由、newifi通用)
  4. 华为手机备忘录的字体怎么调大?
  5. NVR和DVR有什么区别
  6. MySQL 索引原理 图文讲解
  7. android 定制ROM集成 YouTube API,并实现双屏异显(主屏展示列表,副屛播放视频)
  8. python数据分析入门学习笔记
  9. SSO(Single Sign On):原理与使用
  10. TCPDF 解决中文乱码的问题
  11. Android Studio 全局搜索中文字符
  12. python的打开方式有哪些_python中打开程序的方式有哪些
  13. matlab中 a是什么意思,3)是什么意思matlab中的A(?
  14. 贾跃亭不是老赖?网传贾跃亭已偿还200亿债务,你怎么看?...
  15. Elliptic curve cryptography
  16. 功能强大的文件上传插件带上传进度-WebUploader
  17. 【调剂】欢迎加入中科院深圳先进技术研究院空间信息中心江老师课题组
  18. Lintcode 738.Count Different Palindromic Subsequences go
  19. 【转】五、android图片特效处理之光照效果
  20. 小霸王游戏机手柄(一)——硬件破解

热门文章

  1. 如何让局部变量具有全局生命期
  2. 网络工程师必懂的专业术语
  3. LoadRunner11设置场景百分比模式完成多台客户端负载测试
  4. Trie树统计单词前缀
  5. ORACLE---数据库巡检
  6. 美团的android多渠道包的3种方法
  7. wp8.1 Study7: ListView 和GridView应用
  8. 为 Visual Studio 安装数据库工具
  9. 笔记本电池电量校正方法(转CSDN)
  10. 右键命令行在这里-cmd here