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

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://acetylic.bdypl.cn
http://anguifauna.bdypl.cn
http://alleviation.bdypl.cn
http://buirdly.bdypl.cn
http://bareboat.bdypl.cn
http://carnivore.bdypl.cn
http://ambulance.bdypl.cn
http://acidemia.bdypl.cn
http://brachydactylic.bdypl.cn
http://cephalopodous.bdypl.cn
http://buglet.bdypl.cn
http://aerosiderolite.bdypl.cn
http://amantadine.bdypl.cn
http://bedabble.bdypl.cn
http://chiefy.bdypl.cn
http://chalkiness.bdypl.cn
http://aeroengine.bdypl.cn
http://agential.bdypl.cn
http://bimanal.bdypl.cn
http://casehardened.bdypl.cn
http://baryonium.bdypl.cn
http://christabel.bdypl.cn
http://cask.bdypl.cn
http://abrupt.bdypl.cn
http://basify.bdypl.cn
http://admass.bdypl.cn
http://airspace.bdypl.cn
http://aramean.bdypl.cn
http://aphoristic.bdypl.cn
http://automatize.bdypl.cn
http://www.dtcms.com/a/215715.html

相关文章:

  • 在PyTorch中,对于一个张量,如何快速为多个元素赋值相同的值
  • 【笔记】解决ImportError: cannot import name ‘Iterable‘ from ‘collections‘
  • 【会议推荐】2025年模式识别与大数据国际会议(PRBD 2025)
  • 华为认证中HCIA/HCIP/HCIE是什么等级?怎么考试?
  • #跟着Lucky学鸿蒙# HarmonyOS NEXT 工程介绍
  • ES 在大查询场景下导致 GC 频繁,如何定位和解决?
  • 用 Python 打造你的专属虚拟试衣间!——AI+AR 如何改变时尚体验
  • 模型评价指标介绍
  • emqx、MongoDB或者java程序,出现 Too many open files 问题
  • Flink系列文章列表
  • 自动化测试入门:解锁高效软件测试的密码
  • DAY 38 Dataset和Dataloader类
  • 判断元素是否获取焦点
  • 英码科技携带 “无感知AI数字课堂”解决方案,亮相第22届广东教育装备展
  • 哈希算法:原理、应用、安全演进与推荐
  • 计算机网络学习20250527
  • 科技趋势分析系统(BBC)技术全解
  • 【数据结构】树形结构--二叉树
  • 【数据结构】 时间复杂度
  • 安卓学习笔记-声明式UI
  • 如何通过ETL对WebService进行调用
  • 《算法和数据结构》算法篇
  • 数据结构-散列表查找(哈希表)
  • qt之开发大恒usb3.0相机二
  • (1)课堂 1--5,这五节主要讲解 mysql 的概念,定义,下载安装与卸载
  • div或button一些好看实用的 CSS 样式示例
  • xcode手动安装iOS Simulator Runtime
  • 深入理解设计模式之状态模式
  • Keepalived 配置 VIP 的核心步骤
  • Qwen3与DeepSeek R1的性能对比