Python常用脚本集锦

devtools/2024/11/9 4:24:12/

收集了一些常用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')) 

http://www.ppmy.cn/devtools/132483.html

相关文章

11月7日星期四今日早报简报微语报早读

11月7日星期四,农历十月初七,早报#微语早读。 1、河南:旅行社组织1000人次境外游客在豫住宿2夜以上,可申请激励奖补; 2、主播宣称下播后商品恢复原价构成欺诈,广州市监:罚款5万元;…

esp32学习:利用虫洞ESP32开发板,快速实现无线图传

我们的虫洞开发板,能够完美运行esp who AI代码,所以实现无线图传那是非常容易的,我们先看看examples目录: 里面有比较多的web例程,在这些例程下,稍作修改,就可以快速实现我的图传无线功能&#…

漫漫数学之旅038

文章目录 经典格言数学习题古今评注名人小传 - 古斯塔夫福楼拜 经典格言 诗歌是一门像几何一样严格的科学。——古斯塔夫福楼拜(Gustave Flaubert) 古斯塔夫福楼拜将诗歌比作几何学,强调了诗歌创作的严谨性。他认为诗歌不仅仅是情感的流露&a…

[操作系统作业]页面置换算法实现(C++)

💓博主csdn个人主页:小小unicorn ⏩专栏分类:linux 🚚代码仓库:小小unicorn的代码仓库🚚 🌹🌹🌹关注我带你学习编程知识 目录 必做题代码分析(重点以时间统计…

Docker 的基本概念和优势,以及在应用程序开发中的实际应用

Docker是一种容器化平台,它允许开发者将应用程序及其依赖项打包为一个独立的、可移植的容器,然后在任何环境中运行。它的基本概念包括以下几点: 镜像(Image):一个镜像是一个可执行包,它包含了运…

yelp数据集上识别潜在的热门商家

yelp数据集是研究B2C业态的一个很好的数据集,要识别潜在的热门商家是一个多维度的分析过程,涉及用户行为、商家特征和社区结构等多个因素。从yelp数据集里我们可以挖掘到下面信息有助于识别热门商家 用户评分和评论分析 评分均值: 商家的平均评分是反映其…

香港航空 阿里滑块 acw_sc__v3 分析

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 有相关问题请第一时间头像私信联系我删…

【开源项目】经典开源项目数字孪生智慧小镇——开源工程及源码

飞渡科技数字孪生小镇管理平台,依托自研数字孪生引擎平台,将5G、物联网、大数据、人工智能等数字化技术融合应用,采集、整合、应用小镇的规划、运营、管理等数据,实现特色小镇全域管理系统化以及精细化。 基于地理信息系统&#x…