python自动化脚本:让工作自动化起来
创建自动化脚本可以极大地提高工作效率,减少重复劳动。下面,我将为你介绍12个常见的Python自动化脚本,每个脚本都附有简要说明和示例代码。这些脚本涵盖从文件处理到网络请求,再到系统管理的多个方面。
·
创建自动化脚本可以极大地提高工作效率,减少重复劳动。下面,我将为你介绍12个常见的Python自动化脚本,每个脚本都附有简要说明和示例代码。这些脚本涵盖从文件处理到网络请求,再到系统管理的多个方面。
👉CSDN大礼包:《python安装工具&全套学习资料》免费分享(安全链接,放心点击)
1. 自动化文件备份
说明:将指定文件夹中的文件备份到另一个文件夹。
import shutil
import os
import time
source_dir = "/path/to/source"
destination_dir = "/path/to/destination"
def backup_files():
if not os.path.exists(destination_dir):
os.makedirs(destination_dir)
for filename in os.listdir(source_dir):
shutil.copy(os.path.join(source_dir, filename), os.path.join(destination_dir, filename))
print(f"Backup completed at {time.strftime('%Y-%m-%d %H:%M:%S')}")
if __name__ == "__main__":
backup_files()
2. 自动化邮件发送
说明:使用SMTP协议发送邮件。
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
def send_email(subject, body, to_email):
msg = MIMEMultipart()
msg['From'] = "your_email@example.com"
msg['To'] = to_email
msg['Subject'] = subject
msg.attach(MIMEText(body, 'plain'))
server = smtplib.SMTP('smtp.example.com', 587)
server.starttls()
server.login("your_email@example.com", "your_password")
text = msg.as_string()
server.sendmail("your_email@example.com", to_email, text)
server.quit()
if __name__ == "__main__":
send_email("Test Subject", "This is a test email.", "recipient@example.com")
3. 自动化数据抓取(网页爬虫)
说明:抓取网页内容并解析。
import requests
from bs4 import BeautifulSoup
def fetch_webpage(url):
response = requests.get(url)
return response.text
def parse_webpage(html_content):
soup = BeautifulSoup(html_content, 'html.parser')
# Example: getting all titles
titles = [title.get_text() for title in soup.find_all('h1')]
return titles
if __name__ == "__main__":
url = "https://example.com"
html_content = fetch_webpage(url)
titles = parse_webpage(html_content)
print(titles)
4. 自动化Excel处理
说明:使用openpyxl库读取和写入Excel文件。
from openpyxl import load_workbook, Workbook
def read_excel(file_path, sheet_name):
wb = load_workbook(file_path)
sheet = wb[sheet_name]
data = []
for row in sheet.iter_rows(values_only=True):
data.append(row)
return data
def write_excel(file_path, sheet_name, data):
wb = Workbook()
ws = wb.active
ws.title = sheet_name
for row in data:
ws.append(row)
wb.save(file_path)
if __name__ == "__main__":
read_data = read_excel("example.xlsx", "Sheet1")
print(read_data)
write_excel("output.xlsx", "Sheet1", read_data)
5. 自动化日志处理
说明:读取和分析日志文件。
import re
def read_log_file(file_path):
with open(file_path, 'r') as file:
logs = file.readlines()
return logs
def extract_errors(logs):
error_pattern = re.compile(r"ERROR")
errors = [log for log in logs if error_pattern.search(log)]
return errors
if __name__ == "__main__":
logs = read_log_file("application.log")
errors = extract_errors(logs)
for error in errors:
print(error.strip())
6. 自动化图片处理
说明:使用Pillow库调整图片大小。
from PIL import Image
def resize_image(input_path, output_path, size):
with Image.open(input_path) as img:
img_resized = img.resize(size, Image.ANTIALIAS)
img_resized.save(output_path)
if __name__ == "__main__":
resize_image("input.jpg", "output.jpg", (800, 600))
7. 自动化系统监控
说明:使用psutil库监控CPU和内存使用情况。
import psutil
import time
def monitor_system():
while True:
cpu_usage = psutil.cpu_percent(interval=1)
memory_info = psutil.virtual_memory()
memory_usage = memory_info.percent
print(f"CPU Usage: {cpu_usage}% | Memory Usage: {memory_usage}%")
time.sleep(5)
if __name__ == "__main__":
monitor_system()
8. 自动化PDF处理
说明:使用PyMuPDF库提取PDF文本。
import fitz # PyMuPDF
def extract_text_from_pdf(file_path):
doc = fitz.open(file_path)
text = ""
for page_num in range(doc.page_count):
page = doc.load_page(page_num)
text += page.get_text()
return text
if __name__ == "__main__":
pdf_text = extract_text_from_pdf("example.pdf")
print(pdf_text)
9. 自动化API请求
说明:使用requests库发送GET和POST请求。
import requests
def get_api_data(url, params=None):
response = requests.get(url, params=params)
return response.json()
def post_api_data(url, data):
response = requests.post(url, json=data)
return response.json()
if __name__ == "__main__":
url = "https://api.example.com/data"
params = {"key1": "value1", "key2": "value2"}
data = {"field1": "value1", "field2": "value2"}
get_response = get_api_data(url, params)
print(get_response)
post_response = post_api_data(url, data)
print(post_response)
10. 自动化任务调度
说明:使用schedule库安排定时任务。
import schedule
import time
def job():
print("Task executed!")
schedule.every(10).seconds.do(job)
if __name__ == "__main__":
while True:
schedule.run_pending()
time.sleep(1)
11. 自动化文件压缩
说明:使用zipfile库压缩文件夹。
import zipfile
import os
def zip_folder(folder_path, output_path):
with zipfile.ZipFile(output_path, 'w', zipfile.ZIP_DEFLATED) as zipf:
for root, dirs, files in os.walk(folder_path):
for file in files:
full_path = os.path.join(root, file)
relative_path = os.path.relpath(full_path, folder_path)
zipf.write(full_path, relative_path)
if __name__ == "__main__":
zip_folder("/path/to/folder", "output.zip")
最后这里免费分享给大家一份Python全台学习资料,包含视频、源码。课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、自动化测试带你从零基础系统性的学好Python!
👉CSDN大礼包:《python安装工具&全套学习资料》免费分享(安全链接,放心点击)
👉Python学习大礼包👈

更多推荐


所有评论(0)