统计文件目录下的文件个数(不包括目录的所有文件类型个数)

# Author:mologa

import smtplib
def send_monitor(arg):
    from email.mime.text import MIMEText
    _user = "668688@qq.com"    #qq发件箱,也可以是其他邮箱,据说163比较好使
    _pwd  = "hzyjpsssssjxdjjd"   #qq邮箱开通认证后会有一段随机码
    _to   = "mologa@zakj.com.cn"  #收件箱

    msg = MIMEText(arg)
    msg["Subject"] = "FTP_monitor"
    msg["From"] = _user
    msg["To"] = _to

    try:
        s = smtplib.SMTP_SSL("smtp.qq.com", 465)
        s.login(_user, _pwd)
        s.sendmail(_user, _to, msg.as_string())
        s.quit()
        print("Success!")
    except smtplib.SMTPException as e:
        print("Falied,%s"%e)

import os

trigger = 23    #阀值,当文件个数达到这个值就发送邮件提醒
# path = os.getcwd()    #获取当前路径
path = input("file-path:")
count = 0
for i in os.walk(path):    #遍历统计
    files=len(i[-1])
    count += files

message='''
    FTP服务器:
        同步传输文件目录%s下文件个数为%d;
        请检查!!!
'''%(path,count)

if count>=trigger:
    send_monitor(message)
else:
    print("nothing to do.")
    print(count)
    pass
# print(count)               #输出结果

- 网上看到一个统计目录下不同文件类型的文件个数

import os  # os操作系统

path = input("请输入您要统计的文件夹的绝对路径(当前目录下情输入#): ")
if path == '#':
    path = '.'
files = os.listdir(path)  # 获得当前 硬盘目录中的所有文件
print(files)
count = dict()  # 存放每种文件数目的字典

for i in files:  # 逐个文件遍历
    if (os.path.isdir(i)):  # 判断当前是一个文件夹'''
        name = '文件夹'
        if name in count:
            count[name] += 1
        else:
            count[name] = 1
    else:
        name = os.path.splitext(i)[1]  # 当前不是文件夹 获得当前的文件的扩展名
        if name in count:
            count[name] += 1
        else:
            count[name] = 1

name = count.keys()
for i in name:
    print(i, '在当前目录中出现的次数为: ', count[i])

*测试结果就不上传了涉及个人隐私

posted on 2017-09-11 10:09  缪阿布  阅读(1425)  评论(0编辑  收藏  举报