Python 是一种多功能编程语言,以其简单易读而闻名。它广泛应用于从 Web 开发到数据分析等各个领域。在本文中,我们将探索十个 Python 脚本,它们可以通过自动执行常见任务来使您的生活更轻松。
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对web爬虫
BeautifulSoup是一个用于网页抓取的 Python 库。它允许您轻松地从网站提取数据。这是一个简单的网页抓取脚本:
import requests
from bs4 import BeautifulSoup
url = '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 os
folder_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 os
input_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 文件。这是一个基本示例:
从reportlab.pdfgen 导入 canvas
from reportlab.pdfgen import canvas
pdf_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 MIMEMultipart
smtp_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 shutil
source_folder = '/path/to/source_folder'
backup_folder = '/path/to/backup_folder'
shutil.copytree(source_folder, backup_folder)
8
密码生成器
生成强而随机的密码以提高安全性:
import random
import string
def generate_password(length=12):
characters = string.ascii_letters + string.digits + string.punctuation
return ''.join(random.choice(characters) for _ in range(length))
password = generate_password()
print(password)
9
简单微博服务器
创建一个用于测试和开发的基本 HTTP 服务器:
import http.server
import socketserver
port = 8000
with socketserver.TCPServer(('', port), http.server.SimpleHTTPRequestHandler) as httpd:
print(f"Serving at port {port}")
httpd.serve_forever(
10
Database Backup and Restore using 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':
break
else:
print("Invalid choice. Please enter 1, 2, or 3.")
在此代码中:
backup_database()函数复制源 SQLite 数据库文件并将其命名为备份文件。您可以运行此函数来创建数据库的备份。
restore_database()函数将备份文件复制回源文件,有效地将数据库恢复到创建备份时的状态。
向用户提供备份数据库、恢复数据库或退出程序的选项。
您可以调整source_db_file和backup_db_file变量来指定 SQLite 源和备份数据库文件的路径。