目录
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
,否则返回False
。os.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. 参考资料
站内链接:
发表回复