您的位置:首页 > 教育 > 锐评 > 用于日常任务的实用 Python 脚本

用于日常任务的实用 Python 脚本

2024/10/6 16:19:11 来源:https://blog.csdn.net/weixin_44008788/article/details/139334245  浏览:    关键词:用于日常任务的实用 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)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com