Python os 模块简介及基础使用示例
一、简介
Python 的 os 模块提供了许多与操作系统交互的功能,包括:
- 获取系统信息
 - 管理文件和目录路径
 - 判断文件/目录是否存在
 - 获取环境变量等
 
常用于自动化脚本、文件批量处理、路径拼接等场景。
二、基础使用示例
✅ 示例代码
import os# 1. 获取平台信息(Windows 返回 'nt',Linux 返回 'posix')
print("当前操作系统:", os.name)# 2. 读取环境变量(例如 PATH)
print("PATH 环境变量:")
for path in os.getenv("PATH").split(";"):print("  ", path)# 3. 路径操作:分割目录名和文件名
path_str = "E:\\pyCode\\pytest\\pythonProject1\\py02.py"
print("\n原始路径:", path_str)
print("分割目录和文件名:", os.path.split(path_str))# 4. 显示目录名
print("目录名:", os.path.dirname(path_str))# 5. 显示文件名
print("文件名:", os.path.basename(path_str))# 6. 判断文件/目录是否存在
print("路径是否存在:", os.path.exists(path_str))
print("是否是文件:", os.path.isfile(path_str))
print("是否是目录:", os.path.isdir(path_str))# 7. 获取当前路径下的绝对路径
print("当前 py02.py 的绝对路径:", os.path.abspath("py02.py"))# 8. 判断是否为绝对路径
print("是否为绝对路径:", os.path.isabs("E:\\pyCode\\pytest\\pythonProject1\\py02.py")) 
三、功能详解
1️⃣ 获取系统信息
print(os.name) 
- 输出: 
- Windows: 
'nt' - Linux: 
'posix' - macOS: 
'posix' 
 - Windows: 
 
可用于编写跨平台兼容代码。
2️⃣ 读取环境变量
os.getenv("PATH") 
- 获取指定环境变量的值。
 - 可以配合 
split()分割路径列表。 
os.getenv("USERPROFILE")  # 获取用户主目录 
3️⃣ 路径操作函数
| 函数 | 说明 | 
|---|---|
os.path.split(path) | 将路径拆分为目录和文件名两部分 | 
os.path.dirname(path) | 提取目录部分 | 
os.path.basename(path) | 提取文件名部分 | 
os.path.abspath(path) | 返回路径的绝对路径形式 | 
os.path.isabs(path) | 判断路径是否为绝对路径 | 
示例:
path = "E:\\pyCode\\pytest\\pythonProject1\\py02.py"
print(os.path.split(path))      # ('E:\\pyCode\\pytest\\pythonProject1', 'py02.py')
print(os.path.dirname(path))    # E:\pyCode\pytest\pythonProject1
print(os.path.basename(path))   # py02.py 
4️⃣ 文件/目录存在性判断
| 函数 | 说明 | 
|---|---|
os.path.exists(path) | 判断路径是否存在 | 
os.path.isfile(path) | 判断是否是文件 | 
os.path.isdir(path) | 判断是否是目录 | 
print(os.path.exists("data.txt"))  # True or False 
⚠️ 注意:路径不存在时,
isfile()和isdir()都返回False。
5️⃣ 获取当前工作目录
print(os.getcwd())  # 获取当前工作目录 
当前工作目录通常是你运行脚本的位置,而不是脚本所在的目录。
6️⃣ 创建/删除目录
os.mkdir("new_folder")       # 创建单级目录
os.makedirs("a/b/c")         # 创建多级目录
os.rmdir("new_folder")       # 删除空目录 
若目录不为空,
rmdir()会报错。可以使用shutil.rmtree()删除非空目录。
7️⃣ 重命名/移动文件或目录
os.rename("old_name.txt", "new_name.txt")  # 重命名文件或目录 
8️⃣ 删除文件
os.remove("temp.txt")  # 删除文件