处理 Python 目录结构:使用操作系统模块导航文件和文件夹

许多初学者在刚开始学习 Python 时都会感到迷茫,不知道如何浏览目录结构和处理文件。然而,了解 Python 目录结构并使用 操作系统模块让浏览文件和文件夹变得轻而易举。在本篇文章中,我们将向你展示如何使用 如何使用操作系统模块浏览文件和目录让你也能高效处理文件,轻松管理复杂的目录结构。

python 디렉토리 포스트 그림

使用操作系统模块进行目录导航的基础知识

要在 Python 中处理目录结构,使用 操作系统模块os 模块是 Python 中的一个标准库,可让您与操作系统交互,处理与文件和目录相关的任务。使用它,您可以轻松地在 Python 程序中自动执行各种文件和文件夹操作。

Python 디렉토리 구조 다루기 포스트 그림2

使用 os.listdir() 获取目录列表

操作系统模块的 listdir() 函数用于获取一个目录中的文件和文件夹列表。使用方法如下

导入 os

dir_path = "C:/Users/user/Documents" 文件路径
file_list = os.listdir(dir_path)
print(file_list)

上述代码会创建指定的目录路径 (C:/Users/user/Documents),它会返回该目录中所有文件和文件夹的列表。因为它只返回文件名,所以你可以通过后续处理对它们做任何需要做的事情。值得注意的是,listdir( ) 还包括当前目录下的隐藏文件或系统文件。

使用 os.path.join() 安全连接路径

合并文件或文件夹路径时,而不是直接键入路径分隔符、 os.path.join()可以安全使用。该功能将根据操作系统使用适当的分隔符自动生成路径。

导入 os

base_path = "C:/Users/user/Documents" 基本路径
file_name = "example.txt"
full_path = os.path.join(base_path, file_name)
print(full_path)

运行上述代码时,将输出文件所在路径和文件名/扩展名。由于不同的操作系统使用不同的路径分隔符,这是使代码更加兼容的好方法。

Python 目录结构导航的高级用法

除了能以列表形式获取目录内的文件外,还能以列表形式获取文件、 操作系统模块可以让你轻松浏览多个目录和子目录。即使在复杂的目录结构中,也能快速找到想要的文件。

Python 디렉토리 구조 다루기 포스트 그림3

使用 os.walk() 浏览所有目录和文件

os.walk()用于遍历目录树和浏览所有文件和文件夹。该函数默认返回三个值:当前目录的路径、该目录下的文件夹列表和文件列表。请参见下面的代码:

导入 os

for dirpath, dirnames, filenames in os.walk("C:/Users/user/Documents"):
    print(f "Current directory path: {dirpath}")
    print(f "List of folders: {dirnames}")
    print(f "List of files: {filenames}")

这段代码会遍历指定路径下的所有文件夹和文件,让你一次性了解每个目录的结构,这在处理复杂的目录结构时特别有用。

按文件扩展名筛选

当一个目录中有许多不同类型的文件时,你可能只想过滤某些扩展名。例如,如果只想将".png "文件放入列表,可以这样编写代码

导入 os

dir_path = "C:/Users/user/Documents" (文件)
png_files = [file for file in os.listdir(dir_path) if file.endswith(".png")
print(png_files)

上述代码相当于 列表理解使用 .png这样,您就可以只选择要处理的文件类型。

操作系统模块中的实用附加功能

除了 操作系统模块提供了许多有用的文件处理函数。让我们来看看其中一些主要功能。

Python 디렉토리 구조 다루기 포스트 그림4

使用 os.mkdir() 和 os.makedirs() 创建目录

在处理文件时,您经常需要创建新目录。 os.mkdir() 函数用于创建单个目录、 os.makedirs()可以一次性创建所有必要的目录,包括父目录。

导入 os

# 创建单个目录
os.mkdir("C:/Users/user/Documents/new_folder")

创建包含以下内容的 # 子目录
os.makedirs("C:/Users/user/Documents/new_folder/sub_folder")

使用 os.remove() 删除文件

需要删除文件时 os.remove() 函数。不过,该功能只能删除文件,不能删除目录。

导入 os

file_path = "C:/Users/user/Documents/example.txt"
os.remove(file_path)

使用 os.rmdir() 和 shutil.rmtree() 删除目录

删除目录 os.rmdir()但该函数只能删除空目录。如果目录内有文件,则 shutil.rmtree()应使用

导入 os
导入 shutil

# 删除一个空目录
os.rmdir("C:/Users/user/Documents/new_folder")

删除包含 # 子文件的目录
shutil.rmtree("C:/Users/user/Documents/new_folder")

总结:掌握 Python 目录导航

在这篇文章中,您学会了如何在 Python 中导航目录结构和操作文件。 使用操作系统模块,您可以轻松处理从导航目录到创建和删除文件的各种任务。这些基本的 Python 目录导航技能将帮助您在未来开展更复杂的项目。

Python 디렉토리 구조 다루기 포스트 그림5

如果你是一个希望高效使用 Python 目录结构的初学者,上述方法会让你更轻松地处理文件和目录。了解以上内容后,我们能做些什么?如果您想知道 这里了解更多信息!

类似文章