Python常用脚本集锦

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

文件和目录管理

复制文件

python 复制代码
import shutil

# 复制源文件到目标文件
shutil.copy('source.txt', 'destination.txt')

移动文件

python 复制代码
import shutil

# 移动文件到新的路径
shutil.move('source.txt', 'destination.txt')

创建目录结构

python 复制代码
import os

# 创建多层目录,如果已经存在则不报错
os.makedirs('dir/subdir/subsubdir', exist_ok=True)

删除空目录

python 复制代码
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)

查找大文件

python 复制代码
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))

检查文件是否存在

python 复制代码
import os

# 检查指定文件是否存在
if os.path.exists('file.txt'):
    print("File exists.")
else:
    print("File does not exist.")

读取文件内容

python 复制代码
with open('file.txt', 'r') as file:    
   content = file.read()

写入文件内容

python 复制代码
with open('file.txt', 'w') as file:    
    file.write('Hello, World!')

数据处理

读取 CSV 文件

python 复制代码
import csv

# 读取 CSV 文件并打印每一行
with open('data.csv', 'r') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

写入 CSV 文件

python 复制代码
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 文件

python 复制代码
import json

# 读取 JSON 文件
with open('data.json', 'r') as file:
    data = json.load(file)

写入 JSON 文件

python 复制代码
import json

# 将数据写入 JSON 文件
data = {'name': 'Alice', 'age': 30}
with open('data.json', 'w') as file:
    json.dump(data, file)

过滤列表中的重复项

python 复制代码
# 从列表中去除重复项
my_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(set(my_list))

排序列表

python 复制代码
# 对列表进行排序
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_list = sorted(my_list)

网络请求与爬虫

获取网页内容

python 复制代码
import requests

# 发送 GET 请求并获取网页内容
response = requests.get('https://www.example.com')
print(response.text)

发送 HTTP POST 请求

python 复制代码
import requests

# 发送 POST 请求并打印响应
payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('https://httpbin.org/post', data=payload)
print(response.text) 

处理 JSON 响应

python 复制代码
import requests

# 获取并解析 JSON 响应
response = requests.get('https://api.example.com/data')
data = response.json()
print(data)

下载图片

python 复制代码
import requests

# 下载并保存图片
img_data = requests.get('http://example.com/image.jpg').content
with open('image.jpg', 'wb') as handler:
    handler.write(img_data)

自动化任务

定时执行任务

python 复制代码
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) 

发送电子邮件

python 复制代码
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() 

文字处理

统计单词数

python 复制代码
# 统计字符串中的单词数
text = "This is a test. This is only a test."
word_count = len(text.split())
print(f"Word count: {word_count}")

替换字符串

python 复制代码
# 替换字符串中的子串
text = "Hello, World!"
new_text = text.replace("World", "Python")
print(new_text)

连接字符串

python 复制代码
# 将列表中的字符串连接为一个字符串
fruits = ['apple', 'banana', 'orange']
text = ', '.join(fruits)
print(text)

格式化字符串

python 复制代码
# 使用 f-string 格式化字符串
name = "Alice"
age = 30
formatted_text = f"Name: {name}, Age: {age}"
print(formatted_text)

其他常见功能

生成随机数

python 复制代码
import random

# 生成1到100之间的随机整数
random_number = random.randint(1, 100)
print(random_number)

生成随机密码

python 复制代码
python
复制代码
import random
import string

# 生成随机密码
password = ''.join(random.choices(string.ascii_letters + string.digits, k=12))
print(password)

读取环境变量

python 复制代码
import os

# 读取指定环境变量
api_key = os.getenv('API_KEY')
print(api_key)

运行系统命令

python 复制代码
import subprocess

# 运行系统命令并打印输出
result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE)
print(result.stdout.decode('utf-8')) 
相关推荐
流星白龙15 小时前
【Redis】2.Redis重大版本
数据库·redis·junit
流星白龙15 小时前
【Redis】7.Hash表
数据库·redis·哈希算法
love530love15 小时前
OpenClaw Windows Companion 桌面客户端 连接 LM Studio 完整配置指南
人工智能·windows·python·openclaw
流星白龙16 小时前
【Redis】4.基本全局命令
数据库·redis·缓存
王八八。16 小时前
Navicat 17破解版下载安装教程 附安装激活步骤(2026 最新版)
数据库·navicat
cui_ruicheng17 小时前
Python从入门到实战(十六):多进程编程
开发语言·python
Jelena1577958579217 小时前
电商运营分析数据比价接口实战:多平台价格监控与智能决策系统
java·大数据·数据库
_Jimmy_18 小时前
FastAPI + SQLAlchemy全局事务管理
python·fastapi
用户83562907805118 小时前
如何使用 Python 在 Excel 中添加、编辑和删除超链接
后端·python
神明不懂浪漫18 小时前
【第五章】Java中的继承与多态
java·开发语言