用于日常任务的实用 Python 脚本
Python 是一种多功能编程语言,以其简单易读而闻名。它广泛应用于从 Web 开发到数据分析等各个领域。Python 脚本,它们可以通过自动执行常见任务来使您的生活更轻松。
用于日常任务的实用 Python 脚本
- 1. 使用 Pandas 进行数据分析
- 2. 使用 BeautifulSoup 进行网页抓取
- 3. 文件重命名
- 4. 使用 Pillow 调整图像大小
- 5. 使用 ReportLab 的 PDF 生成器
- 6. 使用 smtplib 自动发送邮件
- 7.数据备份脚本
- 8. 密码生成器
- 9. 简单的 Web 服务器
- 10. 使用 SQLite 进行数据库备份和恢复
- 11. 网站抓取脚本
- 12. 文件下载脚本
1. 使用 Pandas 进行数据分析
Pandas是一个功能强大的数据分析和处理库。只需几行代码,您就可以读取、清理和分析来自各种来源(如 CSV 文件或数据库)的数据。以下是示例脚本:
import pandas as pd# Read data from a CSV file
data = pd.read_csv('data.csv')# Perform basic analysis
mean = data['column_name'].mean()
print(f"Mean: {mean}")
2. 使用 BeautifulSoup 进行网页抓取
BeautifulSoup是一个用于网页抓取的 Python 库。它允许您轻松地从网站提取数据。这是一个简单的网页抓取脚本:
import requests
from bs4 import BeautifulSoupurl = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')# Extract data from the webpage
data = soup.find('div', class_='content')
print(data.text)
3. 文件重命名
当您需要根据特定条件重命名文件夹中的多个文件时,此脚本非常方便。例如,您可以添加前缀、后缀或替换文件名中的文本。
import osfolder_path = '/path/to/folder'
for filename in os.listdir(folder_path):if filename.startswith('prefix_'):new_filename = filename.replace('prefix_', 'new_prefix_')os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename))
4. 使用 Pillow 调整图像大小
Pillow是一个 Python 图像库,可简化图像处理。此脚本将一批图像调整为指定的分辨率或纵横比。
from PIL import Image
import osinput_folder = '/path/to/images'
output_folder = '/path/to/resized_images'
desired_size = (100, 100)for filename in os.listdir(input_folder):with Image.open(os.path.join(input_folder, filename)) as img:img.thumbnail(desired_size)img.save(os.path.join(output_folder, filename))
5. 使用 ReportLab 的 PDF 生成器
ReportLab是一个用 Python 创建 PDF 文档的库。您可以从文本或 HTML 内容生成 PDF 文件。这是一个基本示例:
from reportlab.pdfgen import canvaspdf_file = 'output.pdf'
text = 'Hello, this is a sample PDF.'c = canvas.Canvas(pdf_file)
c.drawString(100, 750, text)
c.save()
6. 使用 smtplib 自动发送邮件
需要发送自动电子邮件吗?Python 的smtplib库可以提供帮助。此脚本以编程方式发送电子邮件:
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipartsmtp_server = 'smtp.example.com'
sender_email = 'your_email@example.com'
receiver_email = 'recipient@example.com'
password = 'your_password'message = MIMEMultipart()
message['From'] = sender_email
message['To'] = receiver_email
message['Subject'] = 'Sample Email Subject'body = 'This is a sample email message.'
message.attach(MIMEText(body, 'plain'))with smtplib.SMTP(smtp_server, 587) as server:server.starttls()server.login(sender_email, password)server.sendmail(sender_email, receiver_email, message.as_string())
7.数据备份脚本
自动备份文件和目录,确保数据安全:
import shutilsource_folder = '/path/to/source_folder'
backup_folder = '/path/to/backup_folder'shutil.copytree(source_folder, backup_folder)
8. 密码生成器
生成强而随机的密码以提高安全性:
import random
import stringdef generate_password(length=12):characters = string.ascii_letters + string.digits + string.punctuationreturn ''.join(random.choice(characters) for _ in range(length))password = generate_password()
print(password)
9. 简单的 Web 服务器
创建一个用于测试和开发的基本 HTTP 服务器:
import http.server
import socketserverport = 8000with socketserver.TCPServer(('', port), http.server.SimpleHTTPRequestHandler) as httpd:print(f"Serving at port {port}")httpd.serve_forever()
10. 使用 SQLite 进行数据库备份和恢复
SQLite 是一个 C 库,它提供了一个轻量级的基于磁盘的数据库,不需要单独的服务器进程,并允许使用 SQL 查询语言的非标准变体访问数据库。一些应用程序可以使用 SQLite 进行内部数据存储。还可以使用 SQLite 制作应用程序原型,然后将代码移植到更大的数据库(如 PostgreSQL 或 Oracle)。
下面我将为您提供一个使用 Python 备份和恢复 SQLite 数据库的示例代码,SQLite 是一个轻量级且常用的数据库系统:
import sqlite3
import shutil# Database file paths
source_db_file = 'source.db'
backup_db_file = 'backup.db'# Function to create a backup of the SQLite database
def backup_database():try:shutil.copy2(source_db_file, backup_db_file)print("Backup successful.")except Exception as e:print(f"Backup failed: {str(e)}")# Function to restore the SQLite database from a backup
def restore_database():try:shutil.copy2(backup_db_file, source_db_file)print("Restore successful.")except Exception as e:print(f"Restore failed: {str(e)}")# Usage
while True:print("Options:")print("1. Backup Database")print("2. Restore Database")print("3. Quit")choice = input("Enter your choice (1/2/3): ")if choice == '1':backup_database()elif choice == '2':restore_database()elif choice == '3':breakelse:print("Invalid choice. Please enter 1, 2, or 3.")
在此代码中:
- backup_database()函数复制源 SQLite 数据库文件并将其命名为备份文件。您可以运行此函数来创建数据库的备份。
- restore_database()函数将备份文件复制回源文件,有效地将数据库恢复到创建备份时的状态。
向用户提供备份数据库、恢复数据库或退出程序的选项。您可以调整source_db_file和backup_db_file变量来指定 SQLite 源和备份数据库文件的路径。
11. 网站抓取脚本
此脚本自动从指定网站抓取数据。
import requests
from bs4 import BeautifulSoupurl = 'http://example.com/'response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')# find all links on the page
links = soup.find_all('a')for link in links
12. 文件下载脚本
此脚本自动从互联网下载指定的文件。
import requestsfile_url = 'http://example.com/file.txt'
destination_path = '/path/to/destination/folder/file.txt'response = requests.get(file_url)with open(destination_path, 'wb') as f:f.write(response.content)
相关文章:

用于日常任务的实用 Python 脚本
Python 是一种多功能编程语言,以其简单易读而闻名。它广泛应用于从 Web 开发到数据分析等各个领域。Python 脚本,它们可以通过自动执行常见任务来使您的生活更轻松。 用于日常任务的实用 Python 脚本 1. 使用 Pandas 进行数据分析2. 使用 BeautifulSoup …...

7-Zip是什么呢
1. 简介 7-Zip 是一个功能强大、免费开源的文件压缩和解压缩工具,适用于个人用户和企业用户,可以在多种操作系统上进行使用,并且支持广泛的压缩格式和高级功能。 2. 特点与优势 开源免费:7-Zip 是免费的开源软件,可…...

Satellite Stereo Pipeline学习
1.在Anaconda某个环境中安装s2p pip install s2p 2.在Ubuntu系统中安装s2p源代码 git clone https://github.com/centreborelli/s2p.git --recursive cd s2p pip install -e ".[test]" 3.在s2p中进行make all处理 中间会有很多情况,基本上哪个包出问题…...

linux-gpio
在Linux shell中测试GPIO通信,通常需要使用GPIO的设备文件,这些文件通常位于/sys/class/gpio目录下。要使用特定的GPIO引脚,比如GPIO92,你需要执行以下步骤: 导出GPIO引脚:首先,需要确保GPIO92已…...

C# 代码配置的艺术
文章目录 1、代码配置的定义及其在软件工程中的作用2、C# 代码配置的基本概念和工具3、代码配置的实践步骤4、实现代码配置使用属性(Properties)使用配置文件(Config Files)使用依赖注入(Dependency Injection…...

268 基于matlab的模拟双滑块连杆机构运动
基于matlab的模拟双滑块连杆机构运动,并绘制运动动画,连杆轨迹可视化输出,并输出杆件质心轨迹、角速度、速度变化曲线。可定义杆长、滑块速度,滑块初始位置等参数。程序已调通,可直接运行。 268 双滑块连杆机构运动 连…...

进口铝合金电动隔膜泵
进口铝合金电动隔膜泵是一种高效、可靠的工业泵,其特点、性能与应用广泛,以下是对其的详细分析: 特点 材质与结构: 采用铝合金材料制造,具有良好的耐腐蚀性和轻量化特点。铝合金材质使得泵体结构紧凑、轻便ÿ…...

G4 - 可控手势生成 CGAN
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目录 代码总结与心得 代码 关于CGAN的原理上节已经讲过,这次主要是编写代码加载上节训练后的模型来进行指定条件的生成 图像的生成其实只需要使用…...

使用 DuckDuckGo API 实现多种搜索功能
在日常生活中,我经常使用搜索引擎来查找信息,如谷歌和百度。然而,当我想通过 API 来实现这一功能时,会发现这些搜索引擎并没有提供足够的免费 API 服务。如果有这样的免费 API, 就能定时获取“关注实体”的相关内容,并…...

【DrissionPage爬虫库 1】两种模式分别爬取Gitee开源项目
文章目录 DrissionPage爬虫库简介1. 浏览器操控模式(类似于游戏中的后台模拟鼠标键盘)2. 数据包收发模式(类似于游戏中的协议封包) 实战中学习需求:爬取Gitee开源项目的标题与描述解决方案1:用数据包方式获…...

leetcode 115.不同的子序列
思路:LCS类dp 这道题的思考思路其实就是把以两个字符串结尾作为状态方程。 dp[i][j]的意义就是在s字符串在以s[i]结尾的字符串的情况下,所能匹配出t字符串以t[j]结尾的字符串个数。 本质上其实是一个LCS类的状态方程,只不过是意义不一样了…...

二叉树的顺序实现-堆
一、什么是堆 在数据结构中,堆(Heap)是一种特殊的树形数据结构,用数组存储,通常被用来实现优先队列。 堆具有以下特点: 堆是一棵完全二叉树(Complete Binary Tree),即…...

【Maven】Maven主要知识点目录整理
1. Maven的基本概念 作者相关文章链接: 1、【Maven】简介_下载安装-CSDN博客 定义:Maven是Apache的一个开源项目,是Java开发环境中用于管理和构建项目,以及维护依赖关系的强大软件项目管理工具。作用:简化了项目依赖…...

Coolmuster Android Assistant: 手机数据管理的全能助手
在数字化时代,智能手机不仅是通讯工具,更是个人数据的中心。随着数据量的不断增加,如何有效管理和保护这些数据成为了一个重要议题。Coolmuster Android Assistant应运而生,它是一款专为安卓用户设计的综合数据管理软件࿰…...

03-树3 Tree Traversals Again(浙大数据结构PTA习题)
03-树3 Tree Traversals Again 分数 25 作者 陈越 An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example, suppose that when a 6-node binary tree (with the keys numbered from 1 to 6) is traversed, th…...

Java项目对接redis,客户端是选Redisson、Lettuce还是Jedis?
JAVA项目对接redis,客户端是选Redisson、Lettuce还是Jedis? 一、客户端简介1. Jedis介绍2. Lettuce介绍3. Redisson介绍 二、横向对比三、选型说明 在实际的项目开发中,对于一个需要对接Redis的项目来说,就面临着选择合适的Redis客…...

AngularJS Web前端框架:深入探索与应用实践
AngularJS Web前端框架:深入探索与应用实践 AngularJS,作为一款强大的Web前端框架,为开发者提供了丰富的功能和工具,使得构建复杂且交互性强的Web应用变得更为便捷。本文将从四个方面、五个方面、六个方面和七个方面对AngularJS进…...

SQL 入门:使用 MySQL 进行数据库操作
SQL 入门:使用 MySQL 进行数据库操作 目录 引言SQL 基础 SQL 语言概述MySQL 简介 数据库设计基础 数据库与表的设计常见数据类型 MySQL 安装与配置 安装 MySQL基本配置与连接 基本 SQL 语句 数据库的创建与删除表的创建、修改与删除数据插入、更新与删除 数据查询…...

window安装ffmpeg播放本地摄像头视频
1、安装ffmpeg ffmpeg官方网站:FFmpeg 下载后解压文件夹名为ffmpeg 2、设置环境变量 目录 1、安装ffmpeg 设置环境变量 以F:\software\after\ffmpeg\bin为例 在命令行中输入ffmpeg出现下方代表安装成功 3、通过ffmpeg播放本地电脑摄像头 鼠标右击开始按钮&…...

【嵌入式DIY实例】-OLED显示网络时钟
OLED显示网络时钟 文章目录 OLED显示网络时钟1、硬件准备与接线2、代码实现在上一个ESP8266 NodeMCU文章中,我们用DS3231 RTC芯片和SSD1306 OLED制作了一个简单的实时时钟,时间和日期显示在SSD1306屏幕上,并且可以通过两个按钮进行设置。 在本中,我们将使用ESP 8266 NodeMC…...

【线程相关知识】
今日内容概要 开启线程的两种方式TCP服务端实现并发效果线程对象的join方法线程间数据共享线程对象属性及其他方法守护线程线程互斥锁GIL全局解释器锁多进程与多线程的实际应用场景 今日内容详细 开启线程的两种方式 # import time # from multiprocessing import Process #…...

鸿蒙ArkTS声明式开发:跨平台支持列表【透明度设置】 通用属性
透明度设置 设置组件的透明度。 说明: 开发前请熟悉鸿蒙开发指导文档: gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版…...

【SQL学习进阶】从入门到高级应用(九)
文章目录 子查询什么是子查询where后面使用子查询from后面使用子查询select后面使用子查询exists、not existsin和exists区别 union&union alllimit 🌈你好呀!我是 山顶风景独好 💕欢迎来到我的博客,很高兴能够在这里和您见面…...

Web前端三大主流框架技术分享
在当今快速发展的互联网时代,Web前端技术作为连接用户与服务的桥梁,其重要性不言而喻。随着技术的不断进步,为了提升开发效率、优化用户体验,一系列强大的前端框架应运而生。其中,Angular、React和Vue.js作为当前最为主…...

dockers安装mysql
1.dockerhub上搜索自己需要安装得镜像版本 dockerhub网址:https://hub-stage.docker.com docker pull mysql:5.7 #下载自己需要得版本2.启动容器实例,并且挂载容器数据卷 docker run -d -p 3306:3306 --privilegedtrue \ -v /home/mysql/log:/var/log/…...

100道面试必会算法-27-美团2024面试第一题-前缀和矩阵
100道面试必会算法-27-美团2024面试第一题-前缀和矩阵 问题解读 给定一个 n x n 的二进制矩阵,每个元素是 0 或 1。我们的任务是计算矩阵中所有边长为 k 的子矩阵中,包含特定数量 1 的情况。例如,我们希望找到所有边长为 k 的子矩阵中包含 k…...

从摇一摇到弹窗,AD无处不在?为了不再受打扰,推荐几款好用的屏蔽软件,让手机电脑更清爽
当我们沉浸在智能手机带来的便捷与乐趣中时,内置AD如同不速之客,时常打断我们的体验。 尤其是手机上那些“摇一摇”跳转,稍有不慎就会跳转到其他应用,令人不胜其烦。同样,电脑上的内置AD也如影随形,影响了我…...

HackTheBox-Machines--Nibbles
Nibbles 测试过程 1 信息收集 NMAP 80 端口 网站出了打印出“Hello world!”外,无其他可利用信息,但是查看网页源代码时,发现存在一个 /nibbleblog 文件夹 检查了 http://10.129.140.63/nibbleblog/ ,发现了 /index.p…...

东方博宜1703 - 小明买水果
问题描述 小明去超市买了若干斤水果,你能根据水果的单价,小明买的水果数量,编一个程序计算出总金额,并打印出清单。 输入 输入两个值, 第一个为商品的单价,是一个小数。 第二个为商品的数量,…...

mac电脑用谷歌浏览器对安卓手机H5页面进行inspect
1、mac上在谷歌浏览器上输入 chrome://inspect 并打开该页面。 2、连接安卓手机到Mac电脑:使用USB数据线将安卓手机连接到Mac电脑。 3、手机上打开要的h5页面 Webview下面选择要的页面,点击inspect,就能像谷歌浏览器页面打开下面的页面&#…...