python 10个高频率的自动化脚本(干货,速度收藏)

1. 文件操作:自动备份文件

场景:每日自动备份重要文件到指定目录。

import shutilimport datetimedef backup_file(src, dst_folder):    now = datetime.datetime.now().strftime('%Y%m%d%H%M%S')    dst_path = f"{dst_folder}/backup_{now}_{src.split('/')[-1]}"    shutil.copy2(src, dst_path)    print(f"Backup created at {dst_path}")# 示例用法backup_file("/path/to/important_file.txt", "/path/to/backup_folder")

图片

2. 定时任务:定时发送邮件提醒

场景:每天早上9点自动发送邮件提醒。

import smtplibfrom email.mime.text import MIMETextfrom email.header import Headerimport scheduleimport timedef send_email():    sender = 'your_email@example.com'    receiver = 'receiver@example.com'    password = 'your_password'    subject = 'Daily Reminder'    body = 'This is your daily reminder.'    msg = MIMEText(body, 'plain', 'utf-8')    msg['From'] = Header("Reminder", 'utf-8')    msg['To'] =  Header("Receiver", 'utf-8')    msg['Subject'] = Header(subject, 'utf-8')    try:        server = smtplib.SMTP_SSL('smtp.example.com', 465)        server.login(sender, password)        server.sendmail(sender, [receiver], msg.as_string())        print("Email sent successfully!")    except Exception as e:        print(f"Error sending email: {e}")    finally:        server.quit()schedule.every().day.at("09:00").do(send_email)while True:    schedule.run_pending()    time.sleep(1)

图片

3. 数据抓取:网页内容爬虫

场景:抓取网站新闻标题。​​​​​​​

import requestsfrom bs4 import BeautifulSoupdef scrape_news_titles(url):    response = requests.get(url)    soup = BeautifulSoup(response.text, 'html.parser')    titles = soup.find_all('h2')  # 假设新闻标题在标签中    for title in titles:              print(title.text.strip())# 示例用法      scrape_news_titles('https://news.example.com/latest-news')

图片

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

4. 图片批量重命名

场景:整理图片库,按日期重命名图片。​​​​​​​

import osfrom datetime import datetimedef rename_files(dir_path):    for i, filename in enumerate(os.listdir(dir_path)):        if filename.endswith('.jpg') or filename.endswith('.png'):            timestamp = datetime.now().strftime('%Y%m%d%H%M%S')            new_filename = f"img_{timestamp}_{i}.{filename.split('.')[-1]}"            os.rename(os.path.join(dir_path, filename), os.path.join(dir_path, new_filename))# 示例用法rename_files('/path/to/images/folder')

图片

5. 日志文件分析

场景:统计错误日志中错误出现次数。​​​​​​​

def analyze_logs(log_path, error_keyword):    error_count = 0    with open(log_path, 'r') as file:        for line in file:            if error_keyword in line:                error_count += 1    print(f"Error '{error_keyword}' occurred {error_count} times.")# 示例用法analyze_logs('/var/log/application.log', 'Error 500')

图片

6. 文件夹同步

场景:将本地目录与远程服务器的目录同步。

示例代码(使用rsync命令,通过ssh同步):​​​​​​​

import subprocessdef sync_folders(local_dir, remote_host, remote_dir, username):    # 构建rsync命令    cmd = f"rsync -avz --progress -e 'ssh' {local_dir}/' {username}@{remote_host}:{remote_dir}"    try:        subprocess.run(cmd, shell=True, check=True)        print("Sync completed successfully.")    except subprocess.CalledProcessError as e:        print(f"Error during sync: {e}")# 示例用法sync_folders('/local/path', 'remote.host.com:/remote/path', 'user')

图片

7. 数据库备份

场景:定期将数据库备份到本地或云存储。

示例代码(MySQL数据库备份到本地文件):​​​​​​​

import osimport subprocessdef mysql_backup(database, user, password, backup_path):    backup_file = f"{backup_path}/{database}_backup_{datetime.now().strftime('%Y%m%d%H%M%S')}.sql"    cmd = f'mysqldump -u{user} -p{password} {database} > {backup_file}'    subprocess.run(cmd, shell=True)    print(f"Backup saved to {backup_file}")# 示例用法mysql_backup('mydb', 'dbuser', 'dbpassword', '/path/to/backups')

图片

8. API监控

场景:定时检测API响应状态并通知异常。

示例代码(使用requests和SMTP发送邮件通知):​​​​​​​

import requestsimport smtplibfrom email.mime.text import MIMETextfrom datetime import datetimedef monitor_api(url, expected_status, email_sender, email_receiver, email_password):    response = requests.get(url)    if response.status_code != expected_status:        message = f"API [{url}] returned {response.status_code} at {datetime.now()}"        msg = MIMEText(message)        msg['Subject'] = "API Monitor Alert"        msg['From'] = email_sender        msg['To'] = email_receiver        with smtplib.SMTP_SSL('smtp.example.com', 465) as server:            server.login(email_sender, email_password)            server.sendmail(email_sender, email_receiver, msg.as_string())        print("Alert email sent.")    else:        print("API check passed.")# 示例用法monitor_api('https://api.example.com/health', 200, 'sender@example.com', 'receiver@example.com', 'password')

图片

9. 性能测试

场景:模拟高并发请求进行压力测试。

示例代码(使用locust库):​​​​​​​

from locust import HttpUser, task, betweenclass WebsiteUser(HttpUser):    wait_time = between(5, 15)    @task    def load_test(self):        self.client.get("/")# 通过命令行执行Locust# locust -f performance_test.py --host=https://targetsite.com --users=1000 --spawn-rate=100

图片

10. CI/CD流水线脚本

场景:自动部署代码到生产环境。

示例代码(使用fabric库进行SSH操作):​​​​​​​

from fabric import Connectionfrom invoke import rundef deploy_production(host, username, local_archive):    c = Connection(host, user=username)    remote_path = '/var/www/releases/'    with c.cd(remote_path):        c.put(local_archive)        run(f"tar -xzf {os.path.basename(local_archive)}")        run("rm -f {local_archive}")        run("ln -nfs $(ls -t -1 {remote_path} | head -n1) current")# 示例用法deploy_production('production.server.com', 'deployuser', '/path/to/app.tar.gz')

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/703377.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Qt 实战(4)信号与槽 | 4.1、信号与槽机制

文章目录 一、信号与槽机制1、基本概念2、信号与槽函数连接2.1、connect宏实现信号与槽连接2.2、Qt5新connect函数2.3、使用函数指针2.4、使用lambda表达式2.5、使用Qt Creator添加信号的槽函数 3、结论 前言: Qt信号与槽机制是一种用于处理对象间通信的强大机制&am…

精品KEITHELY6517B参数资料/静电计/高阻计

Keithley 5 位 6517B 静电计/高阻计提供最先进的精度和灵敏度规格,并具有各种功能,可简化高阻和绝缘材料电阻率的测量。Keithley 6517B 的读数速率高达 425 次/秒,可快速、轻松地测量低电平电流。 Keithley 6517B 是更新版本,取代…

Day 18:881. 救生艇

Leetcode 881. 救生艇 给定数组 people 。people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回 承载所有人所需的最小船数 。 这里有一个条…

图解Mamba——从流体力学的角度理解Mamba

1.Transformer的问题 上面是Transformer的网络结构。对于一句话的每个单词,都需要跟所有单词算注意力机制。因此注意力机制的计算复杂度为 O ( n 2 ) O(n^2) O(n2),其中 n n n为句子的长度,即单词(符号)的个数。如下图所示。 所以这也是现在…

Latex | 数学公式

Latex 最近在学习使用 LaTeX 来敲公式,写材料。说实话,这个工具在写公式方面,确实堪称神器!不只是我,连爱因斯坦要是看到它,估计都会点个赞。 在这里,我也得给大家分享一个宝藏网址&#xff1…

打工人必看!AI+PS插件轻松搞定电商产品图!保姆教程来啦!

大家好哇!我是你们的AIGC测评博主米兔! 在当今电商蓬勃发展的时代,一张高质量、具有吸引力的产品图能够迅速吸引消费者的目光,提升购买欲望。今天,我们就来探讨一下如何利用AI结合PS插件制作电商产品图,让…

斜率优化详解

斜率优化 [HNOI2008] 玩具装箱 状态转移方程: f i m i n ( f i , f j ( s u m i i − s u m j − j − L ) 2 ) i > j f_imin(f_i,f_j(sum_ii-sum_j-j-L)^2){i>j} fi​min(fi​,fj​(sumi​i−sumj​−j−L)2)i>j 设A为 s u m i i sum_ii sumi​i&…

计算机二级Access选择题考点

在Access中,若要使用一个字段保存多个图像、图表、文档等文件,应该设置的数据类型是附件。在“销售表"中有字段:单价、数量、折扣和金额。其中,金额单价x数量x折扣,在建表时应将字段"金额"的数据类型定义为计算。若…

C语言调用so/dll动态库

文章目录 windows系统linux系统windows 与 linux下 C 调用动态库的差异 C语言调用动态链接库 windows系统 windows系统下&#xff0c;C语言调用win下的动态库dll&#xff0c;使用头文件<windows.h>。 准备基础C代码 lauf.c #include <stdio.h>// 定义函数&#x…

一键把家里孩子的涂鸦变为动画

最近&#xff0c;发现一款可以让涂鸦变成动画的工具&#xff08;Animated Drawings&#xff09;。 家里有孩子喜欢涂鸦的有福了&#xff0c;这是一个新的增加亲子互动的工具&#xff0c;可以让你孩子的涂鸦变成动画&#xff0c;动起来。 生成动画的过程非常简单&#xff0c;只…

Python解析Word文档的自动编号

关于自动编号的知识可以参考《在 Open XML WordprocessingML 中使用编号列表》 链接&#xff1a;https://learn.microsoft.com/zh-cn/previous-versions/office/ee922775(voffice.14) python-docx库并不能直接解析出Word文档的自动编号&#xff0c;因为原理较为复杂&#xff…

Macbook M芯片Maven的安装与配置

Macbook M芯片Maven的安装与配置 下载 搜索Maven 进入网站 https://maven.apache.org/download.cgi 点击Download 点击如下链接进行下载&#xff1b; 将下载好的文件放到你的指定位置 双击进行解压 配置环境变量 进入终端 在终端中输入 open ~/.bash_profile输入以下内…

CCNA 0基础入门

OSI & TCP/IP OSI参考模型 TCP/IP协议 应用层 ------↓表示层 ------>应用层会话层 ------↑传输层 ------>传输层网络层 ------>网络互联层链路层 ------>网络接口层物理层 ------>↑ 物理层 传输的信号以及网线以及接线 主要作用是产生并检测电…

16 DTLS协议

加密解密基本概念 什么是非对称加密 什么是公钥 这个就是谁都能获得的钥匙什么是私钥 只有一个人能获得 非对称加密就是公钥上的锁&#xff0c;私钥才能打开&#xff0c;私钥上的锁公钥才能打开。比如说就是地下党接头的时候&#xff0c;把一个信息放在盒子里&#xff0c;然…

pikachu靶场上的暴力破解

目录 一、暴力破解 基于表单的暴力破解 验证码绕过(on server) ​编辑 验证码绕过(on client) ​编辑 token防爆破? 二、暴力破解的相关知识点 (1)Burte Force&#xff08;暴力破解&#xff09;概述 (2)验证码的绕过原理 【验证码机制原理】 【客户端可能存在的安全…

智能型程控直流电子负载的介绍

智能型程控直流电子负载是一种高精度、高稳定性的电子设备&#xff0c;主要用于模拟各种实际负载情况&#xff0c;对电源设备进行测试和调试。它能够精确控制电流、电压、功率等参数&#xff0c;以满足不同应用场景的需求。 智能型程控直流电子负载的主要特点有以下几点&#x…

连接查询-外连接(FULL JOIN)、内连接(JOIN)、自身连接

一、表与表之间存在着某种联系&#xff0c;如果一个查询必须在多个表之间完成&#xff0c;则需要用到连接查询 二、连接查询的SQL查询语句 格式&#xff1a; SELECT A1&#xff0c;A2&#xff0c;...&#xff0c;Am FROM R1&#xff0c;R2&#xff0c;..&#xff0c;Rn WH…

推荐这3个APP,帮助你成长

扇贝阅读 当年考英语四级&#xff0c;扇贝阅读帮了很大的帮&#xff0c;这个应用我推荐给了好多同学使用&#xff0c;大家一致反馈不错。 提供很多原版的英文原著供学习&#xff0c;还自带翻译功能&#xff0c;并且提供单词本&#xff0c;遇到不懂的单词可以纪录到单词本中&am…

车载网络安全指南 网络安全框架(二)

返回总目录->返回总目录<- 目录 一、概述 二、网络安全组织管理 三、网络安全活动 四、支撑保障 一、概述 汽车电子系统网络安全活动框架包含汽车电子系统网络安全活动、组织管理以及支持保障。其中,网络安全管理活动是框架的核心,主要指汽车电子系统生命周期各阶段…

Day 14:2938. 区分黑球和白球

Leetcode 2938. 区分黑球和白球 桌子上有 n 个球&#xff0c;每个球的颜色不是黑色&#xff0c;就是白色。 给你一个长度为 n 、下标从 0 开始的二进制字符串 s&#xff0c;其中 1 和 0 分别代表黑色和白色的球。 在每一步中&#xff0c;你可以选择两个相邻的球并交换它们。 返…