当前位置:首页 > Python > 正文

Python OS模块完全使用指南 - 文件与目录操作详解 | Python教程

Python OS模块完全使用指南

Python的os模块是标准库中用于与操作系统交互的核心工具,它提供了丰富的文件/目录操作方法、路径处理和环境变量管理功能。本教程将通过实际代码示例详细讲解OS模块的使用。

一、导入OS模块

import os

二、常用功能及代码示例

1. 路径操作

# 获取当前工作目录
current_dir = os.getcwd()
print(f"当前目录: {current_dir}")

# 路径拼接
new_path = os.path.join("dir1", "dir2", "file.txt")
print(f"组合路径: {new_path}")

# 路径拆分
dirname, filename = os.path.split("/home/user/docs/report.txt")
print(f"目录: {dirname}, 文件名: {filename}")

2. 目录管理

# 创建目录
os.mkdir("new_directory")  # 创建单级目录
os.makedirs("parent/child/grandchild")  # 创建多级目录

# 列出目录内容
files = os.listdir(".")
print("当前目录内容:", files)

# 删除目录
os.rmdir("empty_dir")  # 删除空目录
os.removedirs("a/b/c")  # 递归删除空目录

3. 文件操作

# 重命名文件
os.rename("old.txt", "new.txt")

# 删除文件
os.remove("unused_file.txt")

# 检查文件/目录是否存在
if os.path.exists("important.dat"):
    print("文件存在")

# 获取文件大小
size = os.path.getsize("data.bin")
print(f"文件大小: {size}字节")

4. 系统信息

# 获取操作系统类型
print("操作系统:", os.name)  # 'posix', 'nt', 'java'

# 获取环境变量
print("PATH环境变量:", os.environ.get('PATH'))

# 执行系统命令
os.system('ls -l')  # Linux/macOS
os.system('dir')    # Windows

三、高级应用技巧

# 递归遍历目录
for root, dirs, files in os.walk("project"):
    print(f"当前目录: {root}")
    print(f"包含子目录: {dirs}")
    print(f"包含文件: {files}")

# 路径有效性检查
print("是否是文件:", os.path.isfile("data.csv"))
print("是否是目录:", os.path.isdir("docs"))
print("是否是绝对路径:", os.path.isabs("../relative.txt"))

四、安全注意事项

1. 操作前务必检查路径是否存在:if os.path.exists(target_path):

2. 删除操作使用shutil.rmtree()替代os.removedirs()更安全

3. 处理用户输入路径时使用os.path.abspath()规范化路径

最佳实践建议: 结合os.path子模块进行路径操作可避免跨平台兼容性问题,对于复杂文件操作建议使用pathlib模块(Python 3.4+)。

发表评论