Python常用脚本集锦

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

目录

文件和目录管理

复制文件

移动文件

创建目录结构

删除空目录

查找大文件

检查文件是否存在

读取文件内容

写入文件内容

批量重命名

数据处理

读取 CSV 文件

写入 CSV 文件

读取 JSON 文件

写入 JSON 文件

过滤列表中的重复项

排序列表

网络请求与爬虫

获取网页内容

发送 HTTP POST 请求

处理 JSON 响应

下载图片

自动化任务

定时执行任务

发送电子邮件

文字处理

统计单词数

替换字符串

连接字符串

格式化字符串

其他常见功能

生成随机数

生成随机密码

读取环境变量

运行系统命令


文件和目录管理

复制文件

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')) 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PythonFun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值