【python】扫描指定目录下的所有文件,并将扫描的文本内容邮件发送到指定邮箱

scan_file.py扫描目录函数

"""文件扫描脚本"""
import os
import sys


def scan_file(path, indent=""):

    # 初始化一个列表来存储扫描结果
    scan_results = []

    # 获取当前指定目录中的所有文件(文件夹+文件)
    files = os.listdir(path)

    # 遍历列表中的每个文件
    for file in files:
        # 拼接路径
        file_path = os.path.join(path, file)

        # 如果是文件,添加文件信息到结果列表
        if os.path.isfile(file_path):
            scan_results.append(f"{indent}文件:{file_path}")

        # 如果是文件夹,先添加文件夹信息到结果列表,然后递归调用
        if os.path.isdir(file_path):
            scan_results.append(f"{indent}文件夹:{file_path}")

            # 递归调用,并将结果添加到当前列表
            indent += "---"
            scan_results.extend(scan_file(file_path, indent))

    # 返回结果列表
    return scan_results

send_email.py发送邮件函数

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr


def send_email(outcome):
    # 发件人邮箱账号
    sender_email = ''
    # 发件人邮箱密码(或授权码)
    password = ''
    # 收件人邮箱账号
    receiver_email = ''

    # 将列表转换为字符串,每个元素一行
    text = '\n'.join(outcome)

    # 创建邮件对象
    msg = MIMEText(text, 'plain', 'utf-8')

    # 设置发件人
    msg['From'] = formataddr(('小小怪下士', sender_email))
    # 设置收件人
    msg['To'] = formataddr(('大大怪将军', receiver_email))
    # 设置邮件主题
    msg['Subject'] = '目录扫描结果'

    # 创建SMTP对象
    server = smtplib.SMTP('smtp.qq.com', 587)  # 替换为您的SMTP服务器地址和端口
    server.starttls()  # 启动TLS加密
    server.login(sender_email, password)  # 登录发件人邮箱

    try:
        # 发送邮件
        server.sendmail(sender_email, receiver_email, msg.as_string())
        print('邮件发送成功')
    except Exception as e:
        print('邮件发送失败:', e)
    finally:
        server.quit()  # 关闭连接

main.py程序入口

import scan_file
import send_email

if __name__ == '__main__':
    path = "D:\\欧鹏\\py"
    results = scan_file.scan_file(path)
    send_email.send_email(results)
世界地图矢量数据可以通过多种网站进行下载。以下是一些提供免费下载世界地图矢量数据的网站: 1. Open Street Map (https://www.openstreetmap.org/): 这个网站可以根据输入的经纬度或手动选定范围来导出目标区域的矢量图。导出的数据格式为osm格式,但只支持矩形范围的地图下载。 2. Geofabrik (http://download.geofabrik.de/): Geofabrik提供按洲际和国家快速下载全国范围的地图数据数据格式支持shape文件格式,包含多个独立图层,如道路、建筑、水域、交通、土地利用分类、自然景观等。数据每天更新一次。 3. bbbike (https://download.bbbike.org/osm/): bbbike提供全球主要的200多个城市的地图数据下载,也可以按照bbox进行下载。该网站还提供全球数据数据格式种类齐全,包括geojson、shp等。 4. GADM (https://gadm.org/index.html): GADM提供按国家或全球下载地图数据的服务。该网站提供多种格式的数据下载。 5. L7 AntV (https://l7.antv.antgroup.com/custom/tools/worldmap): L7 AntV是一个提供标准世界地图矢量数据免费下载的网站。支持多种数据格式下载,包括GeoJSON、KML、JSON、TopJSON、CSV和高清SVG格式等。可以下载中国省、市、县的矢量边界和世界各个国家的矢量边界数据。 以上这些网站都提供了世界地图矢量数据免费下载服务,你可以根据自己的需求选择合适的网站进行下载
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值