news 2026/4/3 2:05:51

【DAY28】元组和os模块

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【DAY28】元组和os模块

@浙大疏锦行

作业:对自己电脑的不同文件夹利用相关知识操作一下,理解os路径。

import os # 导入os模块,用于路径和文件操作 # ===================== 知识点1:元组存储固定的路径配置(利用元组不可变特性) ===================== # 定义元组存储多个待操作的文件夹名称(不可修改,适合固定配置) target_dirs = ( "test_dir_1", # 测试目录1 "test_dir_2/sub_dir", # 多级测试目录2 "test_dir_3" # 测试目录3 ) # 定义元组存储需要忽略的文件类型(比如临时文件) ignore_file_types = (".tmp", ".cache", ".log") # ===================== 知识点2:基础路径操作(结合元组接收拆分结果) ===================== # 1. 获取当前工作目录 current_dir = os.getcwd() print(f"【当前工作目录】: {current_dir}\n") # 2. os.path.split():拆分路径为“目录+最后一级名称”,返回值是元组 split_result = os.path.split(current_dir) print(f"【路径拆分结果(元组)】: {split_result}") print(f" - 父目录: {split_result[0]}") # 元组索引取值 print(f" - 当前目录名: {split_result[1]}\n") # ===================== 知识点3:遍历元组中的路径,执行创建/检查 ===================== for dir_name in target_dirs: # 拼接绝对路径(os.path.join自动适配系统分隔符:Windows\ / Linux/macOS) abs_dir_path = os.path.join(current_dir, dir_name) # 检查路径是否存在 if not os.path.exists(abs_dir_path): # 创建多级目录(os.makedirs支持嵌套目录,os.mkdir仅支持单级) os.makedirs(abs_dir_path) print(f"✅ 目录创建成功: {abs_dir_path}") else: print(f"ℹ️ 目录已存在: {abs_dir_path}") # 验证是否为目录(os.path.isdir) is_dir = os.path.isdir(abs_dir_path) print(f" 是否为目录: {is_dir}\n") # ===================== 知识点4:遍历目录内容,用元组汇总文件信息 ===================== # 选第一个测试目录遍历内容 test_dir = os.path.join(current_dir, target_dirs[0]) print(f"【遍历目录内容】: {test_dir}") # 遍历目录下的所有文件/子目录 for item in os.listdir(test_dir): # 拼接item的绝对路径 item_path = os.path.join(test_dir, item) # 用元组存储item的关键信息(路径、类型、大小) item_info = ( item_path, # 路径 "目录" if os.path.isdir(item_path) else "文件", # 类型 os.path.getsize(item_path) # 大小(字节) ) # 过滤掉忽略类型的文件(利用元组的成员判断) if os.path.isfile(item_path) and any(item.endswith(ext) for ext in ignore_file_types): print(f"🚫 忽略文件: {item_info[0]}") else: print(f"📄 项目信息: 路径={item_info[0]}, 类型={item_info[1]}, 大小={item_info[2]}字节") # ===================== 知识点5:元组汇总所有目标路径的绝对路径 ===================== # 生成所有目标目录的绝对路径元组(元组推导式) abs_target_dirs = tuple(os.path.join(current_dir, dir_name) for dir_name in target_dirs) print(f"\n【所有目标目录的绝对路径(元组)】: {abs_target_dirs}") # 元组不可变特性验证(尝试修改会报错,注释掉可测试) # abs_target_dirs[0] = "new_path" # 执行会报TypeError: 'tuple' object does not support item assignment
os 模块路径核心操作
函数作用
os.getcwd()获取当前工作目录
os.path.join()拼接路径(自动适配系统分隔符)
os.path.split()拆分路径为 “父目录 + 最后一级名称”(元组)
os.path.exists()检查路径是否存在
os.makedirs()创建多级目录(支持嵌套)
os.path.isdir()判断是否为目录
os.listdir()列出目录下的所有文件 / 子目录
os.path.getsize()获取文件 / 目录大小(字节)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/29 0:44:42

跨境电商直播:主播讲话实时翻译并显示字幕

跨境电商直播:主播讲话实时翻译并显示字幕 在一场面向东南亚市场的中国美妆直播中,主播正热情地介绍一款新口红:“这款是哑光质地,显白不挑皮,今天下单还送小样套装!”弹幕却逐渐冷清——屏幕那头的越南观众…

作者头像 李华
网站建设 2026/3/28 22:00:02

特警突击作战:面罩内嵌式语音识别保障战术协同

特警突击作战:面罩内嵌式语音识别保障战术协同 在城市反恐突袭行动中,时间以毫秒计。一名特警队员冲入房间的瞬间,需要与队友同步“左侧清房”、“人质安全”等关键信息,但佩戴全封闭防爆面罩后,传统耳机拾音失真、外部…

作者头像 李华
网站建设 2026/4/1 22:45:20

从愤怒到温柔一键切换:IndexTTS 2.0内置8种情感向量调节

从愤怒到温柔一键切换:IndexTTS 2.0内置8种情感向量调节 在虚拟主播直播翻车、AI配音“面无表情”、有声书念得像电子闹钟的今天,我们终于等到了一个能真正“说话带情绪”的语音合成模型。 B站开源的 IndexTTS 2.0 不只是又一款TTS工具。它把原本需要专业…

作者头像 李华
网站建设 2026/3/30 9:10:20

快速理解LCD1602指令集与数据传输方式

从零搞懂LCD1602:指令怎么发?数据怎么传?你有没有遇到过这种情况——把LCD1602接上单片机,代码一烧录,屏幕要么全黑、要么乱码,甚至完全没反应?查了一堆资料,复制了无数段“初始化代…

作者头像 李华
网站建设 2026/3/29 6:31:13

音乐歌词同步:演唱会现场语音识别生成实时字幕

音乐歌词同步:演唱会现场语音识别生成实时字幕 在一场万人合唱的演唱会上,当歌手唱出第一句歌词时,大屏幕几乎同步浮现出清晰的中文字幕——这不是后期剪辑,而是由AI在现场“听”出来的。这种看似科幻的场景,正随着本地…

作者头像 李华
网站建设 2026/3/20 17:05:38

告别音画不同步!自回归架构下的可控语音合成实践指南

告别音画不同步!自回归架构下的可控语音合成实践指南 在短视频剪辑时,你是否曾为一句旁白总是“慢半拍”而反复调整时间轴?在制作虚拟主播动画时,是否因语音长度无法精准匹配动作节奏,不得不手动拉伸音频、牺牲音质&am…

作者头像 李华