文件自动备份脚本
文件备份是保障数据安全的重要措施。这个脚本可以自动备份指定目录下的文件到目标目录,并添加时间戳,以避免文件名冲突。
import os
import shutil
import time
def backup_files(src_dir, dest_dir):
if not os.path.exists(dest_dir):
os.makedirs(dest_dir)
current_time = time.strftime("%Y%m%d%H%M%S")
for file_name in os.listdir(src_dir):
full_file_name = os.path.join(src_dir, file_name)
if os.path.isfile(full_file_name):
backup_name = f"{file_name}_{current_time}"
shutil.copy(full_file_name, os.path.join(dest_dir, backup_name))
print(f"备份文件: {file_name} -> {backup_name}")
# 示例用法
src_directory = "source_folder"
dest_directory = "backup_folder"
backup_files(src_directory, dest_directory)
这个脚本遍历源目录的所有文件,并将其复制到目标备份目录,文件名中添加了时间戳,确保每次备份的文件不会被覆盖。
自动发送邮件脚本
通过Python可以快速实现自动化的邮件发送,特别是需要定期发送报告或通知时,使用这个脚本可以极大地简化工作流程。
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
def send_email(to_email, subject, body):
from_email = "your_email@example.com"
password = "your_password"
msg = MIMEMultipart()
msg['From'] = from_email
msg['To'] = to_email
msg['Subject'] = subject
msg.attach(MIMEText(body, 'plain'))
server = smtplib.SMTP('smtp.example.com', 587)
server.starttls()
server.login(from_email, password)
text = msg.as_string()
server.sendmail(from_email, to_email, text)
server.quit()
# 示例用法
send_email("recipient@example.com", "测试邮件", "这是一封通过Python发送的测试邮件。")
通过这个脚本,可以轻松地发送电子邮件,只需设置SMTP服务器信息和邮件内容。
批量重命名文件脚本
当目录下有大量文件需要按照特定的命名规则重命名时,手动操作非常耗时。这个脚本可以自动将文件按照指定规则批量重命名。
import os
def rename_files(directory, prefix):
for count, filename in enumerate(os.listdir(directory)):
new_name = f"{prefix}_{str(count)}{os.path.splitext(filename)[1]}"
os.rename(os.path.join(directory, filename), os.path.join(directory, new_name))
print(f"已重命名: {filename} -> {new_name}")
# 示例用法
directory_path = "files_folder"
rename_files(directory_path, "document")
该脚本会将指定目录下的所有文件重命名为指定前缀加上编号的格式,适用于批量处理文档或图片。
数据抓取脚本
网络爬虫是通过编程方式抓取网页数据的有效方法。这个脚本使用requests
和BeautifulSoup
库抓取网页中的特定内容,例如文章标题。
import requests
from bs4 import BeautifulSoup
def scrape_titles(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
titles = soup.find_all('h2')
for title in titles:
print(title.get_text())
# 示例用法
scrape_titles("https://example.com")
通过这个简单的网络爬虫,您可以轻松抓取网页上的特定内容,并进一步进行数据分析或存储。
自动生成随机密码脚本
在保护账号安全时,生成一个随机且复杂的密码是非常重要的。这个脚本可以快速生成多个长度可控的随机密码。
import random
import string
def generate_password(length):
characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(characters) for i in range(length))
return password
# 示例用法
print(generate_password(12))
此脚本生成的随机密码包含字母、数字和符号,可以用于提升账号的安全性。
文件内容搜索脚本
如果需要在大量文件中查找特定关键词,手动查找效率低下。这个脚本可以快速遍历目录中的文件并搜索特定内容。
import os
def search_files(directory, keyword):
for filename in os.listdir(directory):
full_path = os.path.join(directory, filename)
if os.path.isfile(full_path):
with open(full_path, 'r', encoding='utf-8', errors='ignore') as f:
if keyword in f.read():
print(f"在文件 {filename} 中找到关键词: {keyword}")
# 示例用法
search_files("documents_folder", "Python")
该脚本适合在多个文档或代码文件中查找特定的关键词,并输出包含关键词的文件名。
自动化截图脚本
当需要定期截取屏幕内容或自动化生成截图时,可以使用Python脚本结合PIL库来实现自动截图。
from PIL import ImageGrab
import time
def take_screenshot():
time.sleep(2) # 延迟2秒后截图
screenshot = ImageGrab.grab()
screenshot.save("screenshot.png")
print("截图已保存为 screenshot.png")
# 示例用法
take_screenshot()
此脚本会在延迟2秒后自动截取屏幕内容并保存为图片文件,非常适合需要自动生成屏幕截图的场景。
文件下载脚本
批量下载文件是Python中的一个常见需求,尤其是在需要从多个URL下载文件时。这个脚本能够自动下载给定URL的文件并保存到本地。
import requests
def download_file(url, filename):
response = requests.get(url, stream=True)
with open(filename, 'wb') as f:
for chunk in response.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)
print(f"文件已下载: {filename}")
# 示例用法
download_file("https://example.com/file.zip", "file.zip")
此脚本可以自动下载指定URL的文件并保存到本地,适合批量文件下载或自动化备份任务。
总结
本文介绍了8个超实用的Python脚本,涵盖了文件备份、邮件发送、批量重命名、网络爬虫、密码生成、文件内容搜索、自动截图以及文件下载等常见任务。每个脚本都设计简洁且易于理解,能够帮助大家在日常工作和开发中快速提高效率。这些Python脚本不仅功能强大,还能够根据需求进一步扩展和定制,适用于各种场景。掌握这些脚本,将能够更好地自动化处理重复性任务,节省时间并提升工作效率。