Python模块开发遇阻,求os模块实用代码示例
Python os模块实用代码示例
以下是os模块常用场景的健壮代码示例,覆盖文件/目录操作、路径处理、信息获取等核心功能:
1. 安全检查文件并执行删除
在原代码基础上增加存在性校验,避免因目录/文件不存在抛出异常:
import os desktop_path = "C:/Users/Total Guarantee/Desktop/" target_file = "homi.txt" # 统计目录中指定文件的数量 if os.path.isdir(desktop_path): files = os.listdir(desktop_path) print(f"目录中{target_file}的数量: {files.count(target_file)}") else: print("指定目录不存在") # 安全删除文件 file_to_remove = os.path.join(desktop_path, "x.txt") if os.path.isfile(file_to_remove): os.remove(file_to_remove) print(f"已删除文件: {file_to_remove}") else: print("要删除的文件不存在")
2. 跨平台路径处理
使用os.path工具类避免手动拼接路径的兼容性问题:
import os # 拼接跨平台兼容路径 base_dir = "C:/Users/Total Guarantee" sub_dir = "Documents" file_name = "report.pdf" full_path = os.path.join(base_dir, sub_dir, file_name) print(f"完整路径: {full_path}") # 拆分路径的目录与文件名 dir_name, file = os.path.split(full_path) print(f"目录部分: {dir_name}, 文件名: {file}") # 获取文件扩展名 name, ext = os.path.splitext(file) print(f"文件名: {name}, 扩展名: {ext}") # 转换相对路径为绝对路径 relative_path = "../Desktop/note.txt" abs_path = os.path.abspath(relative_path) print(f"绝对路径: {abs_path}")
3. 目录创建与删除
支持单级/多级目录创建,以及安全删除操作:
import os # 创建单级目录 new_dir = "C:/Users/Total Guarantee/Desktop/new_folder" if not os.path.isdir(new_dir): os.mkdir(new_dir) print(f"已创建目录: {new_dir}") # 创建多级目录(父目录不存在时自动创建) multi_level_dir = "C:/Users/Total Guarantee/Desktop/docs/reports/2024" if not os.path.isdir(multi_level_dir): os.makedirs(multi_level_dir, exist_ok=True) # exist_ok=True避免已存在时报错 print(f"已创建多级目录: {multi_level_dir}") # 删除空目录 if os.path.isdir(new_dir): os.rmdir(new_dir) print(f"已删除空目录: {new_dir}")
4. 获取文件/目录元信息
获取文件大小、修改时间、当前工作目录等信息:
import os from datetime import datetime file_path = "C:/Users/Total Guarantee/Desktop/homi.txt" if os.path.isfile(file_path): # 获取文件大小(字节) file_size = os.path.getsize(file_path) print(f"文件大小: {file_size} 字节") # 获取并格式化文件最后修改时间 modify_time = os.path.getmtime(file_path) print(f"最后修改时间: {datetime.fromtimestamp(modify_time)}") # 获取当前工作目录 current_dir = os.getcwd() print(f"当前工作目录: {current_dir}") # 切换工作目录 os.chdir("C:/Users/Total Guarantee/Desktop") print(f"切换后工作目录: {os.getcwd()}")
5. 递归遍历目录所有内容
使用os.walk高效遍历目录及子目录:
import os target_dir = "C:/Users/Total Guarantee/Desktop" # 遍历目录,返回当前路径、子目录列表、文件列表 for root, dirs, files in os.walk(target_dir): print(f"\n当前目录: {root}") print("子目录:", dirs) print("文件:", files)
内容的提问来源于stack exchange,提问作者homayun
相关产品推荐
相关产品推荐

