Python常用脚本集锦

简介: Python常用脚本集锦

收集了一些常用Python脚本,作为平时练手使用,也可以作为自己的笔记,用到哪个功能可以自己查询一下即可。

文件和目录管理
复制文件
import shutil

复制源文件到目标文件

shutil.copy('source.txt', 'destination.txt')
移动文件
import shutil

移动文件到新的路径

shutil.move('source.txt', 'destination.txt')
创建目录结构
import os

创建多层目录,如果已经存在则不报错

os.makedirs('dir/subdir/subsubdir', exist_ok=True)
删除空目录
import os

删除当前目录下的所有空目录

for root, dirs, files in os.walk('.', topdown=False):
for name in dirs:
dir_path = os.path.join(root, name)
if not os.listdir(dir_path):
os.rmdir(dir_path)
查找大文件
import os

查找当前目录及子目录下大于1MB的文件

for root, dirs, files in os.walk('.'):
for name in files:
if os.path.getsize(os.path.join(root, name)) > 1024 * 1024:
print(os.path.join(root, name))
检查文件是否存在
import os

检查指定文件是否存在

if os.path.exists('file.txt'):
print("File exists.")
else:
print("File does not exist.")
读取文件内容
with open('file.txt', 'r') as file:
content = file.read()
写入文件内容
with open('file.txt', 'w') as file:
file.write('Hello, World!')
批量重命名

遍历当前文件夹下的mp3文件,把000.mp3, 001.mp3更名为Question Number 1.mp3, Question Number 2.mp3

from pathlib import Path
files = Path(".").glob("*.mp3")
num = 1
for file in files:
file.replace(f"Question Number {num}.mp3")
num+=1
数据处理
读取 CSV 文件
import csv

读取 CSV 文件并打印每一行

with open('data.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
写入 CSV 文件
import csv

写入数据到 CSV 文件

data = [['Name', 'Age'], ['Alice', 30], ['Bob', 25]]
with open('data.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
读取 JSON 文件
import json

读取 JSON 文件

with open('data.json', 'r') as file:
data = json.load(file)
写入 JSON 文件
import json

将数据写入 JSON 文件

data = {'name': 'Alice', 'age': 30}
with open('data.json', 'w') as file:
json.dump(data, file)
过滤列表中的重复项

从列表中去除重复项

my_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(set(my_list))
排序列表

对列表进行排序

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_list = sorted(my_list)
网络请求与爬虫
获取网页内容
import requests

发送 GET 请求并获取网页内容

response = requests.get('https://www.example.com')
print(response.text)
发送 HTTP POST 请求
import requests

发送 POST 请求并打印响应

payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('https://httpbin.org/post', data=payload)
print(response.text)
处理 JSON 响应
import requests

获取并解析 JSON 响应

response = requests.get('https://api.example.com/data')
data = response.json()
print(data)
下载图片
import requests

下载并保存图片

img_data = requests.get('http://example.com/image.jpg').content
with open('image.jpg', 'wb') as handler:
handler.write(img_data)
自动化任务
定时执行任务
import schedule
import time

定义定时执行的任务

def job():
print("I'm working...")

每10秒执行一次任务

schedule.every(10).seconds.do(job)
while True:
schedule.run_pending()
time.sleep(1)
发送电子邮件
import smtplib
from email.mime.text import MIMEText

发送电子邮件

msg = MIMEText('Hello, this is a test email.')
msg['Subject'] = 'Test Email'
msg['From'] = 'your_email@example.com'
msg['To'] = 'recipient@example.com'
s = smtplib.SMTP('localhost')
s.send_message(msg)
s.quit()
文字处理
统计单词数

统计字符串中的单词数

text = "This is a test. This is only a test."
word_count = len(text.split())
print(f"Word count: {word_count}")
替换字符串

替换字符串中的子串

text = "Hello, World!"
new_text = text.replace("World", "Python")
print(new_text)
连接字符串

将列表中的字符串连接为一个字符串

fruits = ['apple', 'banana', 'orange']
text = ', '.join(fruits)
print(text)
格式化字符串

使用 f-string 格式化字符串

name = "Alice"
age = 30
formatted_text = f"Name: {name}, Age: {age}"
print(formatted_text)
其他常见功能
生成随机数
import random

生成1到100之间的随机整数

random_number = random.randint(1, 100)
print(random_number)
生成随机密码
python
复制代码
import random
import string

生成随机密码

password = ''.join(random.choices(string.ascii_letters + string.digits, k=12))
print(password)
读取环境变量
import os

读取指定环境变量

api_key = os.getenv('API_KEY')
print(api_key)
运行系统命令
import subprocess

运行系统命令并打印输出

result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE)
print(result.stdout.decode('utf-8'))

相关文章
|
24天前
|
安全 网络安全 文件存储
思科设备巡检命令Python脚本大集合
【10月更文挑战第18天】
62 1
思科设备巡检命令Python脚本大集合
|
2月前
|
Python
用python转移小文件到指定目录并压缩,脚本封装
这篇文章介绍了如何使用Python脚本将大量小文件转移到指定目录,并在达到大约250MB时进行压缩。
38 2
|
20天前
|
关系型数据库 MySQL 数据库连接
python脚本:连接数据库,检查直播流是否可用
【10月更文挑战第13天】本脚本使用 `mysql-connector-python` 连接MySQL数据库,检查 `live_streams` 表中每个直播流URL的可用性。通过 `requests` 库发送HTTP请求,输出每个URL的检查结果。需安装 `mysql-connector-python` 和 `requests` 库,并配置数据库连接参数。
120 68
|
4天前
|
存储 Python
Python自动化脚本编写指南
【10月更文挑战第38天】本文旨在为初学者提供一条清晰的路径,通过Python实现日常任务的自动化。我们将从基础语法讲起,逐步引导读者理解如何将代码块组合成有效脚本,并探讨常见错误及调试技巧。文章不仅涉及理论知识,还包括实际案例分析,帮助读者快速入门并提升编程能力。
21 2
|
6天前
|
运维 监控 Python
自动化运维:使用Python脚本简化日常任务
【10月更文挑战第36天】在数字化时代,运维工作的效率和准确性成为企业竞争力的关键。本文将介绍如何通过编写Python脚本来自动化日常的运维任务,不仅提高工作效率,还能降低人为错误的风险。从基础的文件操作到进阶的网络管理,我们将一步步展示Python在自动化运维中的应用,并分享实用的代码示例,帮助读者快速掌握自动化运维的核心技能。
18 3
|
11天前
|
缓存 运维 NoSQL
python常见运维脚本_Python运维常用脚本
python常见运维脚本_Python运维常用脚本
16 3
|
12天前
|
运维 监控 应用服务中间件
自动化运维:如何利用Python脚本提升工作效率
【10月更文挑战第30天】在快节奏的IT行业中,自动化运维已成为提升工作效率和减少人为错误的关键技术。本文将介绍如何使用Python编写简单的自动化脚本,以实现日常运维任务的自动化。通过实际案例,我们将展示如何用Python脚本简化服务器管理、批量配置更新以及监控系统性能等任务。文章不仅提供代码示例,还将深入探讨自动化运维背后的理念,帮助读者理解并应用这一技术来优化他们的工作流程。
|
13天前
|
运维 监控 Linux
自动化运维:如何利用Python脚本优化日常任务##
【10月更文挑战第29天】在现代IT运维中,自动化已成为提升效率、减少人为错误的关键技术。本文将介绍如何通过Python脚本来简化和自动化日常的运维任务,从而让运维人员能够专注于更高层次的工作。从备份管理到系统监控,再到日志分析,我们将一步步展示如何编写实用的Python脚本来处理这些任务。 ##
|
1月前
|
Linux 区块链 Python
Python实用记录(十三):python脚本打包exe文件并运行
这篇文章介绍了如何使用PyInstaller将Python脚本打包成可执行文件(exe),并提供了详细的步骤和注意事项。
51 1
Python实用记录(十三):python脚本打包exe文件并运行
|
19天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
自动化测试与脚本编写:Python实践指南
24 1