1、文件读写操作(常用于日志处理、数据导入导出)

1、代码示例

(1)读取文本文件内容
with open("data.txt", "r", encoding="utf-8") as f:content = f.read()print(content)
(2)写入内容到文件
with open("output.txt", "w", encoding="utf-8") as f:f.write("这是要写入的内容\n")f.write("第二行内容")

2、实际用途

  • 日志记录
  • 数据导入/导出(如CSV、TXT)
  • 配置文件读写

2、目录与文件管理(常用于自动化脚本)

1、代码示例

示例:创建目录、列出目录下所有文件。

import os# 创建目录(如果不存在创建目录,存在则跳过)
os.makedirs("backup", exist_ok=True)# 列出当前目录下的所有文件
for file in os.listdir("."):if os.path.isfile(file):print(file)

示例:查看指定目录下的所有文件

import os# 指定目录路径
directory = "/path/to/your/folder"for file in os.listdir(directory):full_path = os.path.join(directory, file)  # 获取完整路径
if os.path.isfile(full_path):              # 判断是否是文件
# if os.path.isfile(full_path) and file.endswith(".txt"):  # 仅列出txt结尾的文件print(file)

2、实际用途

  • 自动备份脚本
  • 文件批量处理
  • 清理无用文件

3、时间处理(常用于日志、任务调度)

1、代码示例

示例:获取当前时间并格式化输出。

from datetime import datetimenow = datetime.now()
print("当前时间1:", now)
formatted_time = now.strftime("%Y-%m-%d %H:%M:%S")
print("当前时间2:", formatted_time)

运行结果:
在这里插入图片描述

2、实际用途

  • 记录操作时间戳
  • 定时任务执行判断
  • 生成带时间的文件名(如log_20250620.log)

4、正则表达式(常用于文本解析、数据提取)

1、代码示例

示例:从字符串中提取邮箱地址。

import retext = "联系我: john.doe@example.com或support@company.co.cn"
emails = re.findall(r"[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+", text)
print(emails)

运行结果:
在这里插入图片描述

2、实际用途

  • 爬虫提取网页信息
  • 用户输入校验(如手机号、身份证号)
  • 日志分析提取关键字段

5、网络请求(常用于API接口调用)

1、代码示例

示例:发送GET请求获取网页内容。

import requestsresponse = requests.get("https://jsonplaceholder.typicode.com/posts/1")
if response.status_code == 200:data = response.json()print(data["title"])
else:print("请求失败")

运行结果:
在这里插入图片描述
说明:
如果提示找不到requests,则需要安装一下requests的依赖,如:
在这里插入图片描述

扩展:发送一个POST/JSON请求。

# POST请求示例
url = "https://jsonplaceholder.typicode.com/posts"
# 要发送入参的JSON数据
data = {"title": "我的新文章","body": "这是文章的内容。","userId": 1
}
# 设置请求头(可选),标明发送的是JSON数据
headers = {"Content-Type": "application/json"
}
# 发送POST请求
response = requests.post(url, json=data, headers=headers)
# 检查响应状态码
if response.status_code == 201:  # 201 表示资源创建成功print("请求成功!响应数据如下:")print(response.json())  # 输出返回的 JSON 数据
else:print(f"请求失败,状态码:{response.status_code}")
print(response.text)

运行结果:
在这里插入图片描述

2、实际用途

  • 调用第三方接口获取数据(天气、股票、支付等)
  • 微服务之间通信
  • Web抓取(爬虫)

6、JSON处理(常用于前后端交互)

1、代码示例

示例:将字典转为 JSON 字符串,并保存到文件。

import jsondata = {"name": "Tom","age": 25,"city": "Shanghai"
}# 转成JSON字符串
json_str = json.dumps(data, ensure_ascii=False, indent=4)
print(json_str)# 写入文件
with open("user.json", "w", encoding="utf-8") as f:f.write(json_str)

运行结果:
在这里插入图片描述

2、实际用途

  • 前后端数据交换(RESTful API)
  • 存储结构化配置
  • 缓存中间结果

7、数据处理(常用于数据分析、清洗)

1、代码示例

示例:使用Pandas读取CSV并筛选数据。

import pandas as pd# 读取CSV文件
df = pd.read_csv("sales.csv")# 筛选销售额大于1000的记录
high_sales = df[df['amount'] > 1000]# 输出前5条
print(high_sales.head())

2、实际用途

  • 数据清洗、统计分析
  • 报表生成
  • 机器学习预处理

8、日志记录(常用于调试和运维)

1、代码示例

示例:记录程序运行日志。

import logging# 配置日志格式
logging.basicConfig(filename="app.log",format="%(asctime)s [%(levelname)s] %(message)s",level=logging.INFO
)logging.info("程序启动成功")
logging.warning("这是一个警告")
logging.error("发生了一个错误")

2、实际用途

  • 调试程序问题
  • 运维监控
  • 记录用户行为

9、多线程 / 异步(常用于并发任务)

1、代码示例

示例:使用threading启动多个线程。

import threading
import timedef worker(name):print(f"线程{name}开始")time.sleep(2)print(f"线程{name}结束")threads = []
for i in range(3):t = threading.Thread(target=worker, args=(i,))threads.append(t)t.start()for t in threads:t.join()

运行结果:
在这里插入图片描述

2、实际用途

  • 提升 I/O 密集型任务效率(如网络请求、文件读写)
  • 多任务并行处理

10、装饰器(常用于权限控制、函数增强)

1、代码示例

示例:定义一个简单的装饰器。
类似Java中,Spring AOP对目标方法的增强。

def my_decorator(func):def wrapper(*args, **kwargs):print("函数开始执行")result = func(*args, **kwargs)print("函数执行结束")return resultreturn wrapper@my_decorator
def say_hello():print("Hello World!")say_hello()

运行结果:
在这里插入图片描述

2、实际用途

  • 权限检查
  • 性能计时
  • 日志记录
  • 缓存机制

11、下载网页内容并保存到本地

示例:使用requests获取百度首页内容,并保存为baidu.html

import requests
import os
from urllib.parse import urljoin# 请求百度首页
url = "https://www.baidu.com"
response = requests.get(url)# 自动检测编码,解决中文乱码问题
response.encoding = response.apparent_encoding# 保存HTML到本地
html_file = "baidu.html"
with open(html_file, "w", encoding="utf-8") as f:f.write(response.text)print("✅ 百度首页已保存为 baidu.html")# 可选:下载图片(这里只做简单演示,仅下载第一个 <img> 标签中的图片)
from bs4 import BeautifulSoupsoup = BeautifulSoup(response.text, "html.parser")
img_tags = soup.find_all("img")if img_tags:# 创建图片保存目录img_dir = "baidu_images"os.makedirs(img_dir, exist_ok=True)first_img_url = img_tags[0]["src"]# 拼接成绝对 URLimg_url = urljoin(url, first_img_url)print(f"📥 正在下载第一张图片: {img_url}")img_response = requests.get(img_url)img_name = os.path.basename(first_img_url)with open(os.path.join(img_dir, img_name), "wb") as img_file:img_file.write(img_response.content)print(f"✅ 图片已保存为 {os.path.join(img_dir, img_name)}")# 可选:修改 HTML 中的 img src 路径为本地路径new_img_path = os.path.join(img_dir, img_name)with open(html_file, "r", encoding="utf-8") as f:html_content = f.read()html_content = html_content.replace(first_img_url, new_img_path)with open(html_file, "w", encoding="utf-8") as f:f.write(html_content)print("🖼️ HTML 中的图片路径已更新为本地路径")
else:
print("⚠️ 页面中未找到图片")

运行结果:
在这里插入图片描述
打开网页:
在这里插入图片描述

向阳而生,Dare To Be!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/86233.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/86233.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/86233.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单项循环链表及带头指针的链表

单项循环链表及其带头指针的链表 对于链表我们要仔细深入的学习它&#xff0c;为何呢&#xff0c;因为他是我们在后面学习非线性数据结构的基础&#xff0c;像后面的树&#xff0c;图等结构都是由链表演变出来的&#xff0c;所以我们这篇博客继续探究链表 带头指针的链表 我…

八股文——JAVA基础:解释下什么是面向对象?面向对象和面向过程的区别

面向对象和面向过程是编程的不同思想&#xff1a; 面向过程如c语言的编程形式&#xff0c;在编程时定义的是一个方法&#xff0c;然后后续执行只需要关注这个方法的作用&#xff0c;而不会将方法进行抽象&#xff0c;也就是只关注程序执行的过程细节。 面向对象如java&#x…

SuperMap iServer 关闭数据目录(datacatalog)、地图打印(webprinting)等服务

背景 漏洞扫描发现有部分低危 web 漏洞&#xff0c;项目又暂未使用数据目录服务&#xff0c;所以最简单的方案是直接关闭服务。 查阅文档发现处理自动化服务可以修改webapps\iserver\WEB-INF\iserver-geoprocessing.xml 的 enable 属性为 false 关闭&#xff0c;机器学习服务…

PyTorch 张量(Tensors)全面指南:从基础到实战

文章目录 什么是张量&#xff1f;张量初始化方法1. 直接从数据创建2. 从 NumPy 数组转换3. 基于现有张量创建4. 使用随机值或常量 张量属性张量操作设备转移索引和切片连接张量算术运算单元素张量转换 原地操作&#xff08;In-place Operations&#xff09;PyTorch 与 NumPy 互…

Maven是什么?

Maven是一个流行的Java项目管理和构建工具&#xff0c;主要用于自动化项目构建、依赖管理和项目文档生成等工作。以下是对它的简单介绍&#xff1a; 核心功能 依赖管理&#xff1a;自动管理项目所需的第三方库&#xff08;如JAR包&#xff09;&#xff0c;通过在配置文件中声…

etcd教程-快速入门使用(截图实操)集群搭建 + 原理解释

大家好&#xff0c;我是此林。 etcd 是一个高可用的键值对存储系统&#xff0c;常用于分布式系统中保存配置、服务发现和协调信息。它是 CNCF 旗下的项目之一&#xff0c;也是 Kubernetes 的核心组件之一&#xff0c;用来存储集群状态。 可以说&#xff0c;云原生场景下经常使…

OpenSSL 混合加密

openssl 中文网&#xff1a; https://www.openssl.net.cn/ 目录 对称加密特点常见算法案例&#xff08;使用 AES&#xff09; 非对称加密特点常见算法案例&#xff08;使用 RSA&#xff09; 混合加密场景加密&#xff08;使用 AES&#xff09;解密 总结 对称加密 特点 加密和解…

AI驱动的DevOps运维与云服务部署自动化

引言 当前&#xff0c;云计算和DevOps实践让开发者能够管理成百上千台服务器和容器&#xff0c;但随之而来的运维复杂度也急剧提升。运维工程师经常需要部署多环境应用、维护大规模云主机、排查集群故障等任务。这些任务不仅涉及繁琐的脚本编写和命令行操作&#xff0c;还需要对…

Spring Boot动态数据源切换:优雅实现多数据源管理

在复杂的企业应用中&#xff0c;多数据源管理是常见需求。本文将介绍如何基于Spring Boot实现优雅的动态数据源切换方案&#xff0c;通过自定义注解和AOP实现透明化切换。 核心设计思路 通过三层结构实现数据源动态路由&#xff1a; 1. 注解层&#xff1a;声明式标记数据源 2…

如何挑选一款1588PTP时钟同步服务器​

在当今数字化程度极高的时代&#xff0c;高精度时间同步对于众多关键领域的高效、稳定运行起着决定性作用。PTP&#xff08;精确时间协议&#xff09;时钟作为实现高精度时间同步的核心设备&#xff0c;其性能优劣直接关乎系统整体表现。挑选一款合适的 ptp网络同步时钟&#x…

Harmony状态管理 @Local和@Param

深入理解ArkUI中的Param与Local装饰器 引言 在ArkUI的状态管理系统中&#xff0c;Param和Local是两个核心装饰器&#xff0c;它们分别用于处理组件间的数据传递和组件内部状态管理。本文将详细介绍这两个装饰器的使用场景、特性差异以及最佳实践。 Param装饰器&#xff1a;组…

物联网摄像头模块的应用场景

一、智慧城市治理 ‌智能交通优化‌ ‌动态信号控制‌&#xff1a;杭州部署20万物联网摄像头&#xff0c;实时分析车流密度并联动1200个红绿灯&#xff0c;早高峰通行效率提升40%。 ‌违规行为识别‌&#xff1a;搭载GB/T28181协议的摄像头AI抓拍交通违章&#xff0c;车牌识…

k8s Ingress、Service配置各样例大全

目录 壹、k8s Ingress 样例大全&#x1f527; 一、基础路由与 TLS 终止&#x1f504; 二、高级路由控制1. **URL 重写**&#xff08;适用后端服务路径与入口路径不一致&#xff09;2. **多路径路由到不同服务** &#x1f6a6; 三、流量治理策略1. **金丝雀发布&#xff08;灰度…

领域驱动设计(DDD)【10】之DDD战术模式:工厂模式与表意接口模式

文章目录 引言&#xff1a;DDD战术模式的重要性一、DDD中的工厂模式1.1 工厂模式的核心概念1.2 工厂模式的三种实现方式1.2.1 简单工厂方法1.2.2 工厂类1.2.3 抽象工厂模式 1.3 工厂模式的适用场景1.4 实际案例&#xff1a;电商订单系统 二、表意接口模式2.1 表意接口2.2 表意接…

鸿蒙ArkTS---登录逻辑,数据持久化,ArkUI,网络请求等基础内容记录

该内容是在【博学谷】学习过程中的代码记录&#xff0c;如有任何问题请与作者联系。 也欢迎同在学习鸿蒙开发的小伙伴的留言&#xff0c;一同学习&#xff0c;一同进步。 功能实现&#xff08;只记录代码&#xff0c;没有相关配置&#xff0c;跑不起来&#xff09;&#xff…

没有公网ip可以实现跨网p2p互通吗?内网让公网直连访问常用工具

没有公网IP的情况下仍然可以实现P2P通信&#xff0c;但需要借助NAT穿透技术或类似nat123同端口映射等第三方工具实现内网穿透‌。‌‌‌‌ 一、什么是P2P通信&#xff1f; P2P网络&#xff08;Peer-to-Peer Network&#xff09;是一种去中心化的网络架构&#xff0c;其中每个…

云服务器安装宝塔面板(BT Panel)

安装宝塔面板&#xff08;BT Panel&#xff09;是很多服务器管理员常用的操作&#xff0c;尤其适合用于管理网站、数据库、FTP等。以下是基于 Linux 系统&#xff08;推荐 CentOS 或 Ubuntu&#xff09;的宝塔面板安装步骤。 安装前准备 云服务器一台 可以订购服务器 海外云主…

mongoose解析http字段值

最近在使用mongoose开发嵌入式web后端时&#xff0c;会遇到要解析js前端发送过来的http消息&#xff0c;比如传递用户名&#xff0c;密码过来&#xff0c;后端要解析出来并判断是否登录成功。 前端http有两种组装字段的方式。 第一种是 $.ajax({url: /upgradePackage,method: P…

高德地图地址解析获取经纬度失败原因JSAPI

高德地图地址解析获取经纬度失败原因JSAPI 地图加载的时候老是报异常码&#xff0c;地图是可以加载出来的&#xff0c;但是在地图上的操作老是有异常码&#xff0c;找了好久不知道什么问题&#xff0c;异常码会报两种&#xff0c;一种是说什么key的问题&#xff0c;但是我当时…

极速JavaScript:全面性能优化实战指南

在现代Web开发中&#xff0c;JavaScript性能直接影响用户体验。一个优化良好的应用能带来更流畅的交互、更快的加载速度和更低的资源消耗。本文将深入探讨实用的JavaScript性能优化技术&#xff0c;帮助您打造高性能Web应用。 一、性能瓶颈分析与诊断工具 性能问题的常见来源&…