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

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'

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


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")  # 删除文件
http://www.xdnf.cn/news/9321.html

相关文章:

  • 如何撰写一篇优质 Python 相关的技术文档 进阶指南
  • Cmake编译yaml-cpp并在QT中测试成功操作步骤
  • AI情感陪伴在医疗领域的核心应用潜力
  • 打卡37天
  • HarmonyNext使用request.agent.download实现断点下载
  • 设计模式-开放封闭原则
  • 多相电机驱动控制学习(1)——基于双dq坐标系的六相PMSM驱动控制
  • C++23 新成员函数与字符串类型的改动
  • 算法竞赛中的基本数论
  • 实时技术对比:SSE vs WebSocket vs Long Polling
  • 分布式光伏接入引起农村电压越限,如何处理?
  • Vue中van-stepper与input值不同步问题及解决方案
  • 如何将联系人从 Android 传输到 PC(正确步骤)
  • 哈尔滨云前沿服务器托管,服务器租用
  • influxdb时序数据库
  • 如何制作全景VR图?
  • Linux基础I/O【文件理解与操作】
  • nt!MiInitializeSystemCache函数分析之PointerPte->u.List.NextEntry的由来
  • 深度解析 K8S Pod 控制器,从原理到企业实践
  • [ Qt ] | 常见控件(二): window相关
  • 字符串day7
  • 线上 VR 展会:独特魅力与显著特质
  • 新增 git submodule 子模块
  • 安全接口设计:筑牢对外接口的安全防线
  • 企业im怎么选? BeeWorks -安全的企业内部通讯软件
  • 设计模式-单一职责原则
  • (14)JVM弹性内存管理
  • 【自用资源分享】Protocol Buffers 构建脚本: 支持生成 ​C++、Go、Python、Java 的 Protobuf 和 gRPC 代码
  • Leetcode-5 好数对的数目
  • 全局事务标识符