news 2026/7/24 19:43:24

DAY28 元组和OS模块

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DAY28 元组和OS模块

前言:今天主要学习了两个方面的基础知识--元组和OS模块。理解和应用好这两个方面将为我们后续进阶深度学习打下了坚实的基础。

一、元组

元组的特点:

1. 有序,可以重复,这一点和列表一样

2. 元组中的元素不能修改,这一点非常重要,深度学习场景中很多参数、形状定义好了确保后续不能被修改。

对于元组方面基础的一些用法在此我们不做过多的赘述,我们主要来讲一讲其和列表结合起来在管道工程中的应用。

3.示例

管道工程中pipeline类接收的是一个包含多个小元组的 列表 作为输入。

可以这样理解这个结构

(1) 列表 []: 定义了步骤执行的先后顺序。Pipeline 会按照列表中的顺序依次处理数据。之所以用列表,是未来可以对这个列表进行修改。

(2) 元组 (): 用于将每个步骤的名称和处理对象捆绑在一起。名称用于在后续访问或设置参数时引用该步骤,而对象则是实际执行数据转换或模型训练的工具。固定了操作名+操作

示例代码:

# 管道按顺序执行以下步骤: # - StandardScaler(): 标准化数据(移除均值并缩放到单位方差) # - LogisticRegression(): 逻辑回归分类器 pipeline = Pipeline([ ('scaler', StandardScaler()), ('logreg', LogisticRegression()) ])

二、OS模块

好的代码组织和有效的文件管理是大型深度学习项目的基石。os 模块是实现这些目标的重要组成部分。

一些基本操作:

1、获取当前工作目录

示例代码:

import os # os是系统内置模块,无需安装 os.getcwd() # get current working directory 获取当前工作目录的绝对路径

2、获取当前工作目录下的文件列表

示例代码:

os.listdir() # list directory 获取当前工作目录下的文件列表

3、环境变量方法

示例代码:

# os.environ 表现得像一个字典,包含所有的环境变量 os.environ # 使用 .items() 方法可以方便地同时获取变量名(键)和变量值,之前已经提过字典的items()方法,可以取出来键和值 # os.environ是可迭代对象 for variable_name, value in os.environ.items(): # 直接打印出变量名和对应的值 print(f"{variable_name}={value}") # 你也可以选择性地打印总数 print(f"\n--- 总共检测到 {len(os.environ)} 个环境变量 ---")

4.目录树

os.walk() 是 Python os 模块中一个非常有用的函数,它用于遍历(或称“行走”)一个目录树。其遍历过程采取的是深度优先策略。

其每次遍历主要返回三个顺序的参数:

当前访问目录 (dirpath)

子目录列表 (dirnames)

文件列表 (filenames)

以下面这个目录结构为例:

my_project/
├── data/
│ ├── processed/ ← 空文件夹
│ └── raw/
│ └── data1.csv
├── src/
│ ├── models/
│ │ └── model_a.py
│ └── utils.py
├── main.py
└── README.md

访问流程:

步骤1: 到达 my_project

看到: 子目录=['data', 'src'], 文件=['main.py', 'README.md']
先进入第一个子目录 'data'

步骤2: 到达 my_project/data

看到: 子目录=['processed', 'raw'], 文件=[]
先进入第一个子目录 'processed'

步骤3: 到达 my_project/data/processed

看到: 子目录=[], 文件=[]
这是死胡同,退回到 my_project/data

步骤4: 还在 my_project/data

进入下一个子目录 'raw'

步骤5: 到达 my_project/data/raw

看到: 子目录=[], 文件=['data1.csv']
这是死胡同,退回到 my_project/data
但 my_project/data 的子目录都探索完了,退回到 my_project

步骤6: 回到 my_project

进入下一个子目录 'src'

步骤7: 到达 my_project/src

看到: 子目录=['models'], 文件=['utils.py']
进入子目录 'models'

步骤8: 到达 my_project/src/models

看到: 子目录=[], 文件=['model_a.py']
探索完成!

示例代码:

import os start_directory = os.getcwd() # 假设这个目录在当前工作目录下 print(f"--- 开始遍历目录: {start_directory} ---") for dirpath, dirnames, filenames in os.walk(start_directory): print(f" 当前访问目录 (dirpath): {dirpath}") print(f" 子目录列表 (dirnames): {dirnames}") print(f" 文件列表 (filenames): {filenames}")

@浙大疏锦行

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/24 9:39:08

vue导出excel文件

Vue.js 本身不提供直接导出 Excel 的功能&#xff0c;但可以通过以下几种方式实现&#xff1a; 1. 前端导出方案 使用 xlsx 库&#xff08;推荐&#xff09; npm install xlsx # 或 yarn add xlsx <template><button click"exportExcel">导出Excel&l…

作者头像 李华
网站建设 2026/7/22 4:16:32

基于STM32的自动售货机控制系统设计

第一章&#xff1a;系统核心硬件架构与选型 基于STM32的自动售货机控制系统以“高效交易、稳定出货”为核心&#xff0c;采用STM32F103ZET6作为主控芯片&#xff0c;其32位Cortex-M3内核与512KB Flash可满足多通道控制与支付交互需求。核心模块包括&#xff1a; 货道控制&#…

作者头像 李华
网站建设 2026/7/23 4:33:51

液压挖掘机回转能量回收系统设计与仿真

一、系统整体方案设计 液压挖掘机回转能量回收系统以“能量回收-存储-再利用”为核心逻辑&#xff0c;适配挖掘机回转制动阶段的能量特性&#xff0c;整体采用“液压蓄能电控调节”的混合架构。系统在原有回转液压回路基础上&#xff0c;新增能量回收支路与释放支路&#xff1a…

作者头像 李华
网站建设 2026/7/20 23:32:39

android 媒体之 MediaSession

一、框架1. MediaSession (媒体会话) • 角色&#xff1a; 核心枢纽和状态机。它是整个媒体播放控制的核心。 • 作用&#xff1a; 封装播放状态&#xff1a; 持有当前播放状态&#xff08;如播放/暂停、当前播放位置、播放速度、播放队列、当前媒体项元数据等&#xff09;…

作者头像 李华
网站建设 2026/7/24 6:01:34

校园网络规划

一、需求分析与总体目标 校园网络规划需综合考虑教学、科研、管理和生活等多场景需求&#xff0c;构建高速、稳定、安全、可扩展的网络基础设施。 主要需求&#xff1a; 带宽需求&#xff1a;支持高清视频教学、在线实验、大规模文件传输覆盖范围&#xff1a;教学楼、实验室、图…

作者头像 李华
网站建设 2026/7/20 23:32:35

护眼灯已足够优秀,为何仍需眼调节训练灯?答案藏在近视防控里

如今的优质护眼灯&#xff0c;早已是家庭学习场景中的“性能王者”——照度远超国标要求&#xff0c;确保读写区域光线均匀充足&#xff0c;无明显明暗死角&#xff1b;达到RG0蓝光豁免级标准&#xff0c;从根源上杜绝蓝光对眼睛带来的潜在伤害&#xff1b;搭配高显色指数与无感…

作者头像 李华