目录

  1. 引言
  2. OS 模块概述
  3. 文件与目录操作方法
    • 3.1 创建、删除文件与目录
    • 3.2 文件路径操作
    • 3.3 文件信息操作
    • 3.4 目录操作
  4. 常用函数介绍
  5. OS 文件/目录操作示例
  6. 总结
  7. 参考资料

1. 引言

Python 提供了 os 模块,用于与操作系统进行交互,操作文件和目录。该模块提供了众多函数来执行与文件系统相关的任务,如创建、删除文件或目录、获取文件信息、路径操作等。本篇文章将详细介绍 os 模块在文件和目录操作中的应用。


2. OS 模块概述

os 模块是 Python 的标准库之一,用于与操作系统进行交互。通过 os 模块,您可以轻松地操作文件和目录,获取文件状态,处理路径等。下面我们将详细讲解常用的文件和目录操作函数。


3. 文件与目录操作方法

3.1 创建、删除文件与目录

  • os.mkdir(path):创建一个目录,若目录已存在则抛出异常。 import os os.mkdir("new_directory") # 创建新目录
  • os.makedirs(path):递归创建目录,如果父目录不存在,也会创建。 os.makedirs("parent_directory/child_directory") # 创建多级目录
  • os.remove(path):删除文件,如果文件不存在会抛出异常。 os.remove("example.txt") # 删除文件
  • os.rmdir(path):删除空目录,如果目录不为空会抛出异常。 os.rmdir("empty_directory") # 删除空目录
  • os.removedirs(path):递归删除目录,仅当目录为空时删除。 os.removedirs("parent_directory/child_directory") # 删除空目录

3.2 文件路径操作

  • os.rename(src, dst):重命名文件或目录。 os.rename("old_name.txt", "new_name.txt") # 重命名文件
  • os.path.join(path, *paths):连接一个或多个路径,返回拼接后的路径。 os.path.join("parent", "child", "file.txt") # 输出:'parent/child/file.txt'
  • os.path.exists(path):检查路径是否存在,存在返回 True,否则返回 Falseos.path.exists("example.txt") # 返回:True 或 False
  • os.path.isdir(path):判断路径是否是一个目录。 os.path.isdir("directory") # 如果是目录,返回 True
  • os.path.isfile(path):判断路径是否是一个文件。 os.path.isfile("file.txt") # 如果是文件,返回 True

3.3 文件信息操作

  • os.stat(path):返回文件或目录的状态信息,返回一个 os.stat_result 对象,包括文件大小、修改时间等。 os.stat("example.txt")
  • os.path.getsize(path):返回文件的大小(字节数)。 os.path.getsize("example.txt") # 输出文件大小(字节)
  • os.path.getmtime(path):返回文件的最后修改时间。 os.path.getmtime("example.txt") # 输出最后修改时间(时间戳)

3.4 目录操作

  • os.listdir(path):返回指定目录下的所有文件和子目录列表。 os.listdir("some_directory") # 输出目录中所有文件和子目录
  • os.getcwd():获取当前工作目录。 os.getcwd() # 输出当前工作目录
  • os.chdir(path):改变当前工作目录。 os.chdir("new_directory") # 切换当前工作目录
  • os.walk(top):生成目录树中所有文件名,可以通过递归的方式列出目录下的所有文件。 for dirpath, dirnames, filenames in os.walk("some_directory"): print(f"当前目录: {dirpath}") print(f"子目录: {dirnames}") print(f"文件: {filenames}")

4. 常用函数介绍

  • os.environ:返回当前环境变量的字典,可以通过它访问或修改环境变量。 import os print(os.environ['PATH']) # 打印环境变量 PATH 的值
  • os.system(command):执行系统命令并返回命令执行的状态码。 os.system("ls") # 在 Linux/Mac 中列出当前目录的文件
  • os.getpid():返回当前进程的 ID。 os.getpid() # 返回当前进程 ID

5. OS 文件/目录操作示例

import os

# 创建目录
os.mkdir("new_dir")

# 创建多级目录
os.makedirs("parent_dir/child_dir")

# 查看当前目录
print(os.getcwd())  # 获取当前工作目录

# 列出目录中的文件和子目录
files = os.listdir(".")
print(files)

# 重命名文件
os.rename("old_file.txt", "new_file.txt")

# 获取文件大小
print(os.path.getsize("new_file.txt"))

# 删除文件
os.remove("new_file.txt")

# 删除空目录
os.rmdir("new_dir")

# 遍历目录
for root, dirs, files in os.walk("parent_dir"):
    print(f"目录:{root}")
    print(f"子目录:{dirs}")
    print(f"文件:{files}")


6. 总结

  • os 模块提供了丰富的文件和目录操作功能,帮助开发者轻松管理文件系统。
  • 本文介绍了如何使用 os 进行文件和目录的创建、删除、信息获取及路径操作等常见操作。
  • 文件操作时需特别注意路径和文件的权限,确保代码的健壮性。
  • 使用 os 模块可以高效地管理文件和目录,并与操作系统进行交互。

7. 参考资料

  1. Python 官方文档 – os 模块
  2. W3Schools – Python OS Module
  3. Real Python – Working with Files and Directories

站内链接