Python找到一个文件夹下面的所有文件

2024年05月06日 Python找到一个文件夹下面的所有文件 极客笔记

Python找到一个文件夹下面的所有文件

在日常工作和学习中,我们经常需要对文件夹下面的所有文件进行操作,比如读取文件内容、重命名文件、删除文件等。Python提供了一些库来帮助我们找到一个文件夹下面的所有文件,本文将详细介绍如何使用Python来遍历文件夹下的所有文件。

使用os.walk方法遍历文件夹

Python中的os模块提供了os.walk方法,该方法可以遍历指定路径下的所有子文件夹和文件。下面是使用os.walk方法遍历文件夹的示例代码:

import os

# 指定要遍历的文件夹路径
folder_path = '/path/to/folder'

# 遍历文件夹下的所有文件
for root, dirs, files in os.walk(folder_path):
    for file in files:
        file_path = os.path.join(root, file)
        print(file_path)

在以上代码中,我们首先导入os模块,然后指定要遍历的文件夹路径。接着使用os.walk方法遍历文件夹下的所有文件,将文件的完整路径打印出来。

运行结果示例

假设我们有一个名为/path/to/folder的文件夹,内容如下:

/path/to/folder
├── file1.txt
├── file2.txt
└── subfolder
    ├── file3.txt
    └── file4.txt

如果我们运行上述示例代码,将得到以下输出:

/path/to/folder/file1.txt
/path/to/folder/file2.txt
/path/to/folder/subfolder/file3.txt
/path/to/folder/subfolder/file4.txt

以上结果展示了通过os.walk方法遍历文件夹下的所有文件的过程,可以看到打印出了文件夹下所有文件的完整路径。

使用os.listdir方法遍历文件夹

除了os.walk方法外,Python的os模块还提供了os.listdir方法,该方法可以列出指定文件夹中的所有文件和子文件夹。下面是使用os.listdir方法遍历文件夹的示例代码:

import os

# 指定要遍历的文件夹路径
folder_path = '/path/to/folder'

# 列出文件夹下的所有文件和子文件夹
for item in os.listdir(folder_path):
    item_path = os.path.join(folder_path, item)
    if os.path.isfile(item_path):
        print(item_path)

在以上代码中,我们首先导入os模块,然后指定要遍历的文件夹路径。接着使用os.listdir方法列出文件夹下的所有文件和子文件夹,将文件的完整路径打印出来。

运行结果示例

假设我们有一个名为/path/to/folder的文件夹,同样的内容如下:

/path/to/folder
├── file1.txt
├── file2.txt
└── subfolder
    ├── file3.txt
    └── file4.txt

如果我们运行上述示例代码,将得到以下输出:

/path/to/folder/file1.txt
/path/to/folder/file2.txt

以上结果展示了通过os.listdir方法遍历文件夹下的所有文件的过程,可以看到只打印出了文件夹下的文件路径,而没有处理子文件夹中的文件。

使用os.scandir方法遍历文件夹

Python 3.5及以上的版本还提供了os.scandir方法,该方法可以更高效地遍历文件夹中的所有文件和子文件夹。下面是使用os.scandir方法遍历文件夹的示例代码:

import os

# 指定要遍历的文件夹路径
folder_path = '/path/to/folder'

# 使用os.scandir方法遍历文件夹下的所有文件
for entry in os.scandir(folder_path):
    if entry.is_file():
        print(entry.path)

在以上代码中,我们首先导入os模块,然后指定要遍历的文件夹路径。接着使用os.scandir方法遍历文件夹下的所有文件,将文件的完整路径打印出来。

运行结果示例

假设我们有一个名为/path/to/folder的文件夹,同样的内容如下:

/path/to/folder
├── file1.txt
├── file2.txt
└── subfolder
    ├── file3.txt
    └── file4.txt

如果我们运行上述示例代码,将得到以下输出:

/path/to/folder/file1.txt
/path/to/folder/file2.txt

以上结果展示了通过os.scandir方法遍历文件夹下的所有文件的过程,与os.listdir方法相似,只打印出了文件夹下的文件路径,而没有处理子文件夹中的文件。

总结

本文介绍了如何使用Python来遍历文件夹下的所有文件,分别使用了os.walk、os.listdir和os.scandir三种方法。通过这些方法,我们可以方便地获取文件夹下的所有文件路径,并进行相应的操作。在实际应用中,根据具体需求选择合适的遍历方法来处理文件夹下的文件是非常重要的。

本文链接:http://so.lmcjl.com/news/3873/

展开阅读全文