os 模块用于文件和目录操作
文章目录
- [`os` 模块用于文件和目录操作](#
os模块用于文件和目录操作) - [一、`os` 模块简介](#一、
os模块简介) - 二、常用文件与目录操作方法
 - 
- [1️⃣ 获取当前工作目录](#1️⃣ 获取当前工作目录)
 - [2️⃣ 改变当前工作目录](#2️⃣ 改变当前工作目录)
 - [3️⃣ 创建目录](#3️⃣ 创建目录)
 - [4️⃣ 删除目录](#4️⃣ 删除目录)
 - [5️⃣ 列出目录内容](#5️⃣ 列出目录内容)
 - [6️⃣ 重命名文件或目录](#6️⃣ 重命名文件或目录)
 - [7️⃣ 删除文件](#7️⃣ 删除文件)
 - [8️⃣ 判断文件或目录是否存在](#8️⃣ 判断文件或目录是否存在)
 - [9️⃣ 判断路径类型](#9️⃣ 判断路径类型)
 - [🔟 获取文件的绝对路径](#🔟 获取文件的绝对路径)
 - [1️⃣1️⃣ 获取文件路径的目录与文件名](#1️⃣1️⃣ 获取文件路径的目录与文件名)
 - [1️⃣2️⃣ 拼接路径](#1️⃣2️⃣ 拼接路径)
 - [1️⃣3️⃣ 拆分路径](#1️⃣3️⃣ 拆分路径)
 - [1️⃣4️⃣ 获取文件大小](#1️⃣4️⃣ 获取文件大小)
 - [1️⃣5️⃣ 遍历目录树(递归)](#1️⃣5️⃣ 遍历目录树(递归))
 
 - 三、综合实战案例
 - 四、总结表格
 
一、os 模块简介
os 模块是 Python 内置的一个标准库,用于与操作系统进行交互。
它可以执行
- 文件与目录的创建、删除、重命名;
 - 获取文件属性;
 - 遍历目录;
 - 获取系统信息(如路径、环境变量);
 - 以及执行系统命令。
 
使用前需先导入:
            
            
              py
              
              
            
          
          import os
        二、常用文件与目录操作方法
1️⃣ 获取当前工作目录
            
            
              py
              
              
            
          
          os.getcwd()
        📘 示例
            
            
              py
              
              
            
          
          import os
print("当前工作目录:", os.getcwd())
        🧾 输出示例
当前工作目录: C:\Users\oyaZXL\Desktop\
        2️⃣ 改变当前工作目录
            
            
              py
              
              
            
          
          os.chdir(path)
        📘 示例
            
            
              py
              
              
            
          
          os.chdir("C:/Users/lang/Documents")
print("切换后目录:", os.getcwd())
        🧾 输出
切换后目录: C:\Users\lang\Documents
        3️⃣ 创建目录
            
            
              py
              
              
            
          
          os.mkdir(path)
os.makedirs(path)
        mkdir():只能创建一级目录;makedirs():可递归创建多级目录。
📘 示例
os.mkdir("test_folder")
os.makedirs("a/b/c")  # 递归创建多级目录
        4️⃣ 删除目录
            
            
              py
              
              
            
          
          os.rmdir(path)
os.removedirs(path)
        rmdir():删除空目录;removedirs():递归删除多级空目录。
📘 示例
            
            
              py
              
              
            
          
          os.rmdir("test_folder")
os.removedirs("a/b/c")
        5️⃣ 列出目录内容
os.listdir(path)
        📘 示例
files = os.listdir(".")  # 列出当前目录所有文件和子目录
print(files)
        🧾 输出
['mlp_min.ipynb', 'part_function.ipynb', 'README.md', '深度神经网络技术详解.md']
        6️⃣ 重命名文件或目录
            
            
              py
              
              
            
          
          os.rename(old_name, new_name)
        📘 示例
            
            
              py
              
              
            
          
          os.rename("data.txt", "data_backup.txt")
        7️⃣ 删除文件
            
            
              py
              
              
            
          
          os.remove(path)
        📘 示例
os.remove("data_backup.txt")
        8️⃣ 判断文件或目录是否存在
os.path.exists(path)
        📘 示例
            
            
              py
              
              
            
          
          if os.path.exists("example.txt"):
    print("文件存在")
else:
    print("文件不存在")
        9️⃣ 判断路径类型
os.path.isfile(path)
os.path.isdir(path)
        📘 示例
            
            
              py
              
              
            
          
          print(os.path.isfile("data.txt"))  # True
print(os.path.isdir("images"))     # True
        🔟 获取文件的绝对路径
os.path.abspath(path)
        📘 示例
print(os.path.abspath("data.txt"))
        1️⃣1️⃣ 获取文件路径的目录与文件名
os.path.dirname(path)
os.path.basename(path)
        📘 示例
            
            
              py
              
              
            
          
          path = "C:/Users/lang/Desktop/data.txt"
print("目录名:", os.path.dirname(path))
print("文件名:", os.path.basename(path))
        🧾 输出
目录名: C:/Users/lang/Desktop
文件名: data.txt
        1️⃣2️⃣ 拼接路径
            
            
              py
              
              
            
          
          os.path.join(path1, path2, ...)
        📘 示例
            
            
              py
              
              
            
          
          folder = "C:/Users/lang/Desktop"
filename = "data.txt"
full_path = os.path.join(folder, filename)
print(full_path)
        🧾 输出
C:\Users\lang\Desktop\data.txt
        1️⃣3️⃣ 拆分路径
os.path.split(path)
        📘 示例
            
            
              py
              
              
            
          
          print(os.path.split("C:/Users/lang/Desktop/data.txt"))
        🧾 输出
('C:/Users/lang/Desktop', 'data.txt')
        1️⃣4️⃣ 获取文件大小
os.path.getsize(path)
        📘 示例
print(os.path.getsize("data.txt"), "字节")
        🧾 输出
1234 字节
        1️⃣5️⃣ 遍历目录树(递归)
os.walk(top)
        返回 (root, dirs, files) 元组,可用于递归访问文件夹。
📘 示例
            
            
              py
              
              
            
          
          for root, dirs, files in os.walk("."):
    print("当前路径:", root)
    print("子目录:", dirs)
    print("文件:", files)
    print("------------")
        🧾 输出
当前路径: .
子目录: ['images', 'docs']
文件: ['main.py', 'README.md']
------------
当前路径: .\images
子目录: []
文件: ['logo.png', 'icon.jpg']
------------
        三、综合实战案例
📘 任务:遍历指定文件夹,找出所有 .txt 文件,并打印它们的绝对路径与大小
            
            
              py
              
              
            
          
          import os
def find_txt_files(root_dir):
    for root, dirs, files in os.walk(root_dir):
        for f in files:
            if f.endswith(".txt"):
                file_path = os.path.join(root, f)
                size = os.path.getsize(file_path)
                print(f"{file_path}  ({size} bytes)")
find_txt_files(".")
        🧾 输出示例
.\notes.txt  (1345 bytes)
.\logs\2025_log.txt  (5678 bytes)
        四、总结表格
| 功能 | 方法 | 说明 | 
|---|---|---|
| 获取当前目录 | os.getcwd() | 
获取路径 | 
| 改变目录 | os.chdir(path) | 
切换工作目录 | 
| 创建目录 | os.mkdir() / os.makedirs() | 
新建文件夹 | 
| 删除目录 | os.rmdir() / os.removedirs() | 
删除空目录 | 
| 列出内容 | os.listdir() | 
遍历文件夹 | 
| 重命名 | os.rename() | 
文件改名 | 
| 删除文件 | os.remove() | 
删除文件 | 
| 判断存在 | os.path.exists() | 
检查路径 | 
| 判断类型 | os.path.isfile() / os.path.isdir() | 
文件或目录 | 
| 拼接路径 | os.path.join() | 
合成路径 | 
| 拆分路径 | os.path.split() | 
分离目录与文件 | 
| 获取绝对路径 | os.path.abspath() | 
转换绝对路径 | 
| 获取大小 | os.path.getsize() | 
获取文件大小 | 
| 遍历目录树 | os.walk() | 
递归扫描 | 
python学习专栏导航
(1)100天python从入门到拿捏《Python 3简介》
(2)100天python从入门到拿捏《python应用前景》
(3)100天python从入门到拿捏《数据类型》
(4)100天python从入门到拿捏《运算符》
(5)100天python从入门到拿捏《流程控制语句》
(6)100天python从入门到拿捏《推导式》
(7)100天python从入门到拿捏《迭代器和生成器》
(8)100天python从入门到拿捏《函数和匿名函数》
(9)100天python从入门到拿捏《装饰器》
(10)100天python从入门到拿捏《Python中的数据结构与自定义数据结构》
(11)100天python从入门到拿捏《模块》
(12)100天python从入门到拿捏《文件操作》