8 个 Python 实用脚本,收藏备用("Python实用脚本精选8例:必备收藏,随时可用")
原创
一、批量重命名文件
在处理大量文件时,手动重命名是一件非常耗时的工作。以下是一个Python脚本,可以帮助你批量重命名文件。
import os
def batch_rename(directory, prefix):
for filename in os.listdir(directory):
if filename.startswith(prefix):
os.rename(os.path.join(directory, filename),
os.path.join(directory, f"{prefix}_{filename}"))
directory = '/path/to/your/directory'
prefix = 'new_prefix_'
batch_rename(directory, prefix)
二、文件夹内容复制到另一个文件夹
有时候我们需要将一个文件夹中的所有内容复制到另一个文件夹中,以下脚本可以实现这个功能。
import shutil
def copy_directory(src, dst):
shutil.copytree(src, dst, dirs_exist_ok=True)
source_dir = '/path/to/source/directory'
destination_dir = '/path/to/destination/directory'
copy_directory(source_dir, destination_dir)
三、检查网站是否在线
以下脚本可以帮助你检查一个网站是否在线,如果网站无法访问,会返回一个失误。
import requests
def check_website(url):
try:
response = requests.get(url)
if response.status_code == 200:
print(f"{url} is online.")
else:
print(f"{url} is offline with status code {response.status_code}.")
except requests.exceptions.RequestException as e:
print(f"{url} is offline. Error: {e}")
website_url = 'http://example.com'
check_website(website_url)
四、读取CSV文件并筛选数据
以下脚本可以帮助你读取CSV文件,并基于特定条件筛选数据。
import csv
def filter_csv_data(file_path, column_name, value):
filtered_data = []
with open(file_path, newline='') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
if row[column_name] == value:
filtered_data.append(row)
return filtered_data
csv_file_path = '/path/to/your/csvfile.csv'
column_name = 'column_name'
value = 'desired_value'
filtered_data = filter_csv_data(csv_file_path, column_name, value)
print(filtered_data)
五、发送电子邮件
以下脚本可以帮助你使用SMTP协议发送电子邮件。
import smtplib
from email.mime.text import MIMEText
def send_email(smtp_server, smtp_port, username, password, recipient, subject, body):
msg = MIMEText(body, 'plain', 'utf-8')
msg['From'] = username
msg['To'] = recipient
msg['Subject'] = subject
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(username, password)
server.sendmail(username, recipient, msg.as_string())
server.quit()
smtp_server = 'smtp.example.com'
smtp_port = 587
username = 'your_email@example.com'
password = 'your_password'
recipient = 'recipient@example.com'
subject = 'Subject of the email'
body = 'Body of the email'
send_email(smtp_server, smtp_port, username, password, recipient, subject, body)
六、下载网络上的图片
以下脚本可以帮助你从网络上下载图片。
import requests
from PIL import Image
from io import BytesIO
def download_image(url, save_path):
response = requests.get(url)
image = Image.open(BytesIO(response.content))
image.save(save_path)
image_url = 'http://example.com/image.jpg'
save_path = '/path/to/save/image.jpg'
download_image(image_url, save_path)
七、爬取网页内容
以下脚本可以帮助你爬取网页内容,并保存到本地文件。
import requests
from bs4 import BeautifulSoup
def crawl_website(url, save_path):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
with open(save_path, 'w', encoding='utf-8') as file:
file.write(str(soup))
website_url = 'http://example.com'
save_path = '/path/to/save/webpage.html'
crawl_website(website_url, save_path)
八、使用Python生成Excel报告
以下脚本可以帮助你使用Python生成Excel报告。
import pandas as pd
def create_excel_report(data, column_names, save_path):
df = pd.DataFrame(data, columns=column_names)
df.to_excel(save_path, index=False)
data = [
['Alice', 25, 'Female'],
['Bob', 30, 'Male'],
['Charlie', 35, 'Male']
]
column_names = ['Name', 'Age', 'Gender']
save_path = '/path/to/save/report.xlsx'
create_excel_report(data, column_names, save_path)
以上就是8个Python实用脚本的介绍,这些脚本涵盖了文件操作、网络请求、数据筛选、电子邮件发送、图片下载、网页爬取以及Excel报告生成等多种常见场景。期望这些脚本能够帮助您节约工作快速,解决实际问题。