Python OS 模块详解

Python 的 os 模块是标准库中用于与操作系统交互的核心模块之一。它提供了丰富的功能,包括文件和目录操作、进程管理、环境变量访问等。以下是一些常见的应用场景和代码示例。


文件和目录操作

os 模块提供了许多函数来操作文件和目录。例如,创建、删除、重命名文件和目录,以及遍历目录内容。

import os

# 创建目录
os.mkdir("example_dir")

# 重命名目录
os.rename("example_dir", "new_example_dir")

# 列出目录内容
files = os.listdir("new_example_dir")
print(files)

# 删除目录
os.rmdir("new_example_dir")


路径操作

os.path 子模块专门用于处理文件路径。它提供了跨平台的路径操作功能,避免了手动拼接路径的麻烦。

import os

# 拼接路径
path = os.path.join("folder", "subfolder", "file.txt")
print(path)  # 输出: folder/subfolder/file.txt (Unix) 或 folder\subfolder\file.txt (Windows)

# 检查路径是否存在
exists = os.path.exists(path)
print(exists)

# 获取文件扩展名
ext = os.path.splitext("document.pdf")[1]
print(ext)  # 输出: .pdf


环境变量操作

os 模块允许访问和修改系统的环境变量,这对于配置管理和脚本运行非常有用。

import os

# 获取环境变量
home_dir = os.getenv("HOME")
print(home_dir)

# 设置环境变量(仅在当前进程有效)
os.environ["CUSTOM_VAR"] = "123"
print(os.getenv("CUSTOM_VAR"))


进程管理

os 模块还提供了一些基本的进程管理功能,例如启动新进程或终止当前进程。

import os

# 启动一个新进程(如打开计算器)
os.system("calc")  # Windows 系统

# 终止当前进程
os._exit(0)  # 直接退出,不执行清理操作


文件权限和属性

通过 os 模块可以修改文件的权限和其他属性。

import os

# 修改文件权限(Unix 系统)
os.chmod("script.sh", 0o755)  # 设置为 rwxr-xr-x

# 获取文件大小
size = os.path.getsize("example.txt")
print(f"File size: {size} bytes")


遍历目录树

os.walk 是一个强大的工具,用于递归遍历目录树,获取所有文件和子目录。

import os

for root, dirs, files in os.walk("."):
    print(f"Current directory: {root}")
    print(f"Subdirectories: {dirs}")
    print(f"Files: {files}")


跨平台兼容性

os 模块的设计考虑了跨平台兼容性。例如,路径分隔符在不同操作系统中会自动调整。

import os

# 跨平台路径拼接
path = os.path.join("data", "logs", "app.log")
print(path)


总结

os 模块是 Python 中与操作系统交互的重要工具,涵盖了文件操作、路径处理、环境变量管理等多种功能。通过合理使用这些功能,可以编写出高效且跨平台的脚本。

更多推荐