首页 > Python资料 博客日记
实用的 Python 小脚本
2024-10-26 09:00:05Python资料围观34次
一、引言
在日常办公和电脑使用中,我们经常会遇到一些重复性的任务或需要快速获取特定信息的情况。Python 作为一种强大而灵活的编程语言,可以用来编写各种小脚本,以自动化这些任务并提高工作效率。本文将介绍一些 Python 常用的小脚本,包括文件管理、数据处理、电脑信息查询等方面,帮助读者更好地利用 Python 解决实际问题。
二、文件管理脚本
(一)批量重命名文件
在处理大量文件时,手动重命名文件是一项繁琐的任务。使用 Python 可以轻松实现批量重命名文件。以下是一个示例脚本:
import os
def batch_rename(directory, prefix):
for count, filename in enumerate(os.listdir(directory)):
dst = f"{prefix}{str(count)}.txt"
src = os.path.join(directory, filename)
dst = os.path.join(directory, dst)
os.rename(src, dst)
directory = "path/to/your/directory"
prefix = "new_file_"
batch_rename(directory, prefix)
这个脚本遍历指定目录中的所有文件,并以给定的前缀和序号重命名它们。
(二)文件备份
定期备份重要文件是一个好习惯。以下是一个简单的文件备份脚本:
import shutil
import os
import time
source_directory = "path/to/source/directory"
backup_directory = "path/to/backup/directory"
def backup_files():
timestamp = time.strftime("%Y%m%d%H%M%S")
backup_folder = os.path.join(backup_directory, f"backup_{timestamp}")
os.makedirs(backup_folder)
for filename in os.listdir(source_directory):
source_file = os.path.join(source_directory, filename)
destination_file = os.path.join(backup_folder, filename)
shutil.copy2(source_file, destination_file)
backup_files()
这个脚本将指定源目录中的文件备份到另一个目录,并在备份文件夹名称中添加时间戳。
三、数据处理脚本
(一)CSV 文件数据处理
假设你有一个 CSV 文件,需要对其中的数据进行一些处理,比如提取特定列的数据或进行数据清洗。以下是一个示例脚本:
import pandas as pd
def process_csv(file_path):
df = pd.read_csv(file_path)
# 提取特定列的数据
column_data = df["column_name"]
# 进行数据清洗,例如去除空值
cleaned_data = column_data.dropna()
return cleaned_data
file_path = "path/to/your/csv/file.csv"
processed_data = process_csv(file_path)
print(processed_data)
这个脚本使用 pandas 库读取 CSV 文件,并进行特定的数据处理操作。
(二)文本文件内容统计
如果你需要统计一个文本文件中的单词数量、行数等信息,可以使用以下脚本:
def count_words_and_lines(file_path):
with open(file_path, "r") as file:
lines = file.readlines()
word_count = 0
for line in lines:
words = line.split()
word_count += len(words)
return len(lines), word_count
file_path = "path/to/your/text/file.txt"
line_count, word_count = count_words_and_lines(file_path)
print(f"Lines: {line_count}, Words: {word_count}")
这个脚本打开一个文本文件,统计其中的行数和单词数量。
四、电脑信息查询脚本
(一)获取电脑硬件信息
可以使用 Python 的第三方库来获取电脑的硬件信息,比如 CPU 型号、内存大小等。以下是一个使用 psutil 库的示例:
import psutil
def get_computer_info():
cpu_info = psutil.cpu_freq()
memory_info = psutil.virtual_memory()
disk_info = psutil.disk_usage('/')
print(f"CPU Frequency: {cpu_info.current} MHz")
print(f"Memory Usage: {memory_info.used / (1024 * 1024 * 1024)} GB")
print(f"Disk Usage: {disk_info.used / (1024 * 1024 * 1024)} GB")
get_computer_info()
这个脚本使用 psutil 库获取电脑的 CPU 频率、内存使用情况和磁盘使用情况。
(二)查询电脑 IP 地址
以下是一个获取电脑 IP 地址的脚本:
import socket
def get_ip_address():
hostname = socket.gethostname()
ip_address = socket.gethostbyname(hostname)
return ip_address
print(get_ip_address())
这个脚本使用 socket 库获取电脑的 IP 地址。
五、日常办公辅助脚本
(一)自动发送邮件
在一些情况下,你可能需要自动发送邮件通知。以下是一个使用 smtplib 库发送邮件的示例:
import smtplib
from email.mime.text import MIMEText
def send_email(subject, body, to_email):
from_email = "your_email@gmail.com"
password = "your_password"
msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = from_email
msg['To'] = to_email
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(from_email, password)
server.sendmail(from_email, to_email, msg.as_string())
server.quit()
subject = "Test Email"
body = "This is a test email sent from Python."
to_email = "recipient_email@gmail.com"
send_email(subject, body, to_email)
这个脚本使用 Gmail 的 SMTP 服务器发送一封邮件,你需要将自己的邮箱地址和密码替换到相应位置。
(二)定时提醒
如果你需要一个定时提醒工具,可以使用以下脚本:
import time
import winsound
def set_reminder(message, delay):
time.sleep(delay)
print(message)
winsound.Beep(1000, 1000)
message = "Time for a break!"
delay = 3600 # 设置提醒时间为 1 小时(3600 秒)
set_reminder(message, delay)
这个脚本在指定的延迟时间后打印提醒消息并发出蜂鸣声。
六、文件格式转换脚本
在日常工作中,我们可能需要将一种文件格式转换为另一种格式。例如,将图片从 JPEG 格式转换为 PNG 格式,或者将 PDF 文件转换为 Word 文档。以下是一个使用 Python 的第三方库 Pillow 进行图片格式转换的脚本:
from PIL import Image
def convert_image_format(input_path, output_path, output_format):
img = Image.open(input_path)
img.save(output_path, format=output_format)
input_path = "path/to/input/image.jpg"
output_path = "path/to/output/image.png"
output_format = "PNG"
convert_image_format(input_path, output_path, output_format)
这个脚本可以将指定的 JPEG 图片转换为 PNG 格式。你可以根据需要修改输入路径、输出路径和输出格式。
七、批量压缩图片脚本
当我们有大量的图片需要压缩以减小文件大小或节省存储空间时,可以使用以下脚本:
from PIL import Image
import os
def compress_images(directory, quality):
for filename in os.listdir(directory):
if filename.endswith(".jpg") or filename.endswith(".png"):
img_path = os.path.join(directory, filename)
img = Image.open(img_path)
img.save(img_path, optimize=True, quality=quality)
directory = "path/to/your/images/directory"
quality = 70 # 设置压缩质量,范围为 0-100
compress_images(directory, quality)
这个脚本遍历指定目录中的所有 JPEG 和 PNG 图片,并将它们压缩到指定的质量级别。
八、生成随机密码脚本
为了提高账户安全性,我们经常需要使用随机生成的强密码。以下是一个用 Python 生成随机密码的脚本:
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
length = 12 # 设置密码长度
password = generate_password(length)
print(password)
这个脚本生成一个指定长度的随机密码,包含字母、数字和标点符号。
九、清理临时文件脚本
电脑中的临时文件会占用存储空间并可能影响系统性能。以下是一个清理特定目录中临时文件的脚本:
import os
def clean_temp_files(directory):
for filename in os.listdir(directory):
file_path = os.path.join(directory, filename)
if os.path.isfile(file_path) and filename.startswith("temp_"):
os.remove(file_path)
directory = "path/to/temporary/files/directory"
clean_temp_files(directory)
这个脚本删除指定目录中以 “temp_” 开头的临时文件。
十、文本内容搜索与替换脚本
如果你需要在多个文本文件中搜索特定的内容并进行替换,可以使用以下脚本:
import os
def search_and_replace(directory, search_text, replace_text):
for filename in os.listdir(directory):
if filename.endswith(".txt"):
file_path = os.path.join(directory, filename)
with open(file_path, "r") as file:
content = file.read()
new_content = content.replace(search_text, replace_text)
with open(file_path, "w") as file:
file.write(new_content)
directory = "path/to/your/text/files/directory"
search_text = "old_text"
replace_text = "new_text"
search_and_replace(directory, search_text, replace_text)
这个脚本遍历指定目录中的所有文本文件,将文件中的特定内容替换为新的内容。
十一、获取网页内容脚本
有时候我们需要从网页上获取特定的信息,比如新闻标题、股票价格等。以下是一个使用 Python 的 requests 和 BeautifulSoup 库获取网页内容的脚本:
import requests
from bs4 import BeautifulSoup
def get_webpage_content(url):
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
# 假设我们要获取网页中的所有标题标签
titles = soup.find_all("h1")
for title in titles:
print(title.text)
url = "https://example.com"
get_webpage_content(url)
这个脚本获取指定网页的内容,并打印出所有的一级标题。
十二、文件分类脚本
如果你的电脑中有很多杂乱无章的文件,可以使用以下脚本进行分类:
import os
import shutil
def classify_files(directory):
file_types = {}
for filename in os.listdir(directory):
file_path = os.path.join(directory, filename)
if os.path.isfile(file_path):
extension = os.path.splitext(filename)[1]
if extension not in file_types:
file_types[extension] = []
file_types[extension].append(file_path)
for extension, files in file_types.items():
destination_folder = os.path.join(directory, extension[1:])
os.makedirs(destination_folder, exist_ok=True)
for file in files:
shutil.move(file, destination_folder)
directory = "path/to/your/files/directory"
classify_files(directory)
这个脚本根据文件的扩展名将文件分类到不同的文件夹中。
十三、总结
这些 Python 小脚本可以在日常办公和电脑管理中发挥很大的作用。它们不仅可以提高工作效率,还可以帮助我们更好地管理电脑资源和处理各种任务。你可以根据自己的具体需求对这些脚本进行修改和扩展,以满足不同的场景。同时,不断探索和学习更多的 Python 库和技术,可以让你编写出更加实用和强大的脚本。
标签:
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Python与PyTorch的版本对应
- Anaconda版本和Python版本对应关系(持续更新...)
- Python pyinstaller打包exe最完整教程
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj