Python os 模块简介及基础使用示例

发布于:2025-05-28 ⋅ 阅读:(23) ⋅ 点赞:(0)

一、简介

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'

可用于编写跨平台兼容代码。


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")  # 删除文件

网站公告

今日签到

点亮在社区的每一天
去签到