You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 14:57:16