python os模块是python内置的标准库模块,主要用于提供和操作系统交互的接口,封装了不同操作系统底层的系统调用能力,让开发者可以用统一的python代码实现跨平台的系统相关操作,无需针对不同系统编写适配逻辑。

os模块的核心功能分类
os模块的功能覆盖了系统交互的多个常见场景,主要可以分为以下几类:
- 路径处理:处理文件和目录的路径拼接、拆分、判断等操作
- 目录操作:创建、删除、遍历目录,获取当前工作目录等
- 文件操作:删除文件、重命名文件、修改文件权限等
- 系统信息:获取操作系统类型、环境变量、进程相关信息等
常用功能及代码示例
路径处理相关方法
os模块提供了路径处理的常用方法,避免手动拼接路径时出现的分隔符错误问题,适配不同系统的路径规则。
import os
# 拼接路径,自动适配系统分隔符
path = os.path.join("home", "user", "documents", "test.txt")
print(path) # Linux/macOS输出home/user/documents/test.txt,Windows输出homeuserdocumentstest.txt
# 拆分路径为目录和文件名
dir_name, file_name = os.path.split("/home/user/documents/test.txt")
print(dir_name) # 输出/home/user/documents
print(file_name) # 输出test.txt
# 判断路径是否存在
is_exist = os.path.exists("/home/user/documents")
print(is_exist) # 路径存在返回True,否则返回False
# 判断是否为文件/目录
is_file = os.path.isfile("/home/user/documents/test.txt")
is_dir = os.path.isdir("/home/user/documents")
目录操作相关方法
目录的创建、删除、遍历是文件处理场景中的高频需求,os模块提供了对应的简洁接口。
import os
# 创建单个目录
os.mkdir("new_dir")
# 递归创建多级目录,exist_ok=True表示目录存在时不报错
os.makedirs("parent/child/grandchild", exist_ok=True)
# 删除空目录
os.rmdir("new_dir")
# 获取当前工作目录
current_dir = os.getcwd()
print(current_dir)
# 切换工作目录
os.chdir("/home/user/documents")
# 遍历目录下的所有内容
for root, dirs, files in os.walk("/home/user/documents"):
print("当前目录:", root)
print("子目录列表:", dirs)
print("文件列表:", files)
文件与系统信息相关方法
除了路径和目录操作,os模块还支持文件基础操作和系统信息查询。
import os
# 删除文件
os.remove("test.txt")
# 重命名文件或目录
os.rename("old_name.txt", "new_name.txt")
# 获取系统环境变量
path_env = os.environ.get("PATH")
print(path_env)
# 获取操作系统名称,nt代表Windows,posix代表Linux/macOS
os_name = os.name
print(os_name)
# 执行系统命令,Windows下可以执行dir,Linux下执行ls
os.system("ls -l") # Linux/macOS环境
# os.system("dir") # Windows环境
使用注意事项
使用os模块时需要注意以下几点:
- 部分方法在不同系统上的表现可能有差异,比如
os.system执行的命令需要适配对应系统的命令规则 - 删除操作(如
os.remove、os.rmdir)执行后无法恢复,操作前建议先做好判断和备份 - 处理路径时优先使用
os.path下的方法,不要手动拼接字符串,避免跨平台兼容性问题 - 如果需要更复杂的文件操作,可以结合
shutil模块一起使用,两者功能互补
os模块是python系统交互的基础,掌握它的常用方法可以快速实现很多自动化处理需求,减少重复编写系统适配代码的工作量。