技术文摘
11 个实用的 Python 与 Shell 即用脚本实例
11 个实用的 Python 与 Shell 即用脚本实例
在日常的编程和系统管理中,Python 和 Shell 脚本发挥着重要作用。它们能够帮助我们高效地完成各种任务,节省时间和精力。以下是 11 个实用的脚本实例,希望能为您的工作带来便利。
1. 文件批量重命名
在 Python 中,可以使用 os 模块实现文件的批量重命名。例如,将指定文件夹下所有以 .txt 结尾的文件重命名为 .log 。
import os
folder_path = "your_folder_path"
for filename in os.listdir(folder_path):
if filename.endswith(".txt"):
new_name = filename.replace(".txt", ".log")
os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_name))
2. 目录内容统计
使用 Shell 脚本可以快速统计指定目录下的文件和子目录数量。
#!/bin/bash
dir_path="your_directory_path"
file_count=$(find "$dir_path" -type f | wc -l)
dir_count=$(find "$dir_path" -type d | wc -l)
echo "文件数量: $file_count"
echo "目录数量: $dir_count"
3. 文本数据提取
Python 中的正则表达式能够从大量文本中提取所需信息。比如从网页源码中提取所有的邮箱地址。
import re
text = "your_text"
emails = re.findall(r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b', text)
for email in emails:
print(email)
4. 系统信息监控
通过 Shell 脚本监控系统的 CPU 使用率、内存使用情况等。
#!/bin/bash
cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}')
mem_usage=$(free -m | awk 'NR==2{print $3/$2 * 100}')
echo "CPU 使用率: $cpu_usage%"
echo "内存使用率: $mem_usage%"
5. 数据备份
使用 Python 实现定时数据备份,将重要文件复制到指定的备份目录。
import shutil
import time
source_path = "your_source_path"
backup_path = "your_backup_path"
while True:
shutil.copytree(source_path, backup_path + time.strftime("%Y%m%d%H%M%S"))
time.sleep(3600) # 每小时备份一次
6. 网络端口扫描
在 Python 中借助第三方库 socket 实现简单的网络端口扫描。
import socket
target_ip = "your_target_ip"
for port in range(1, 65535):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = sock.connect_ex((target_ip, port))
if result == 0:
print(f"端口 {port} 开放")
sock.close()
7. 日志分析
使用 Python 对大量的日志文件进行分析,提取关键信息并生成报告。
8. 进程管理
Shell 脚本可以监控进程状态,如查看是否有特定进程在运行,若没有则启动。
#!/bin/bash
process_name="your_process_name"
if pgrep -f "$process_name" > /dev/null; then
echo "$process_name 正在运行"
else
echo "$process_name 未运行,正在启动..."
# 启动进程的命令
fi
9. 数据格式转换
将 CSV 格式的数据转换为 JSON 格式,方便数据处理和传输。
import csv
import json
with open('your_csv_file.csv', 'r') as csv_file:
reader = csv.DictReader(csv_file)
data = [row for row in reader]
with open('your_json_file.json', 'w') as json_file:
json.dump(data, json_file, indent=4)
10. 定时任务执行
通过 Shell 脚本设置定时任务,如每天凌晨执行某个脚本。
crontab -e
0 0 * * * /path/to/your_script.sh
11. 图片处理
使用 Python 的图像处理库,如 Pillow,实现图片的裁剪、缩放、转换等操作。
这些实用的 Python 与 Shell 脚本实例能够在不同的场景中发挥作用,提高工作效率。您可以根据实际需求对它们进行修改和扩展,以满足更多的个性化需求。
TAGS: Python 脚本实例 Shell 脚本实例 实用脚本技巧 即用型脚本
- 基于Python与Redis搭建在线问答平台:问题搜索与排序的实现方法
- C#开发中Redis的应用:高效缓存更新的实现方法
- Scala.js 中利用 MySQL 实现数据前端展示功能的方法
- 用Redis与Haskell打造高性能计算应用的方法
- Redis实现消息队列功能的方法
- Redis 与 JavaScript 打造实时股票行情系统:数据快速更新方法
- MySQL 中实现数据库高可用性与灾备的方法
- Java 与 Redis 助力实现秒杀功能:高并发场景处理之道
- Golang开发中Redis的应用:复杂数据结构的存储与检索
- R语言项目中Redis的应用指南
- MySQL 中数据插入与更新操作方法
- Java开发中Redis与Redisson框架的应用场景
- MySQL 怎样执行数据的局部写与局部读操作
- Redis 与 JavaScript 实现分布式缓存功能的方法
- MySQL 中数据精确匹配与模糊匹配的实现方法