在 Python 中遍历目录中的文件
-
在 Python 中使用
os.listdir()
方法遍历目录中的文件 -
在 Python 中使用
pathlib.path().glob()
方法遍历目录中的文件 -
在 Python 中使用
os.walk()
方法遍历目录中的文件 -
在 Python 中使用
iglob()
方法遍历目录中的文件
本教程将讲解在 Python 中遍历目录中的文件的不同方法。我们需要在目录中寻找一个文件来实现文件共享、文件查看或文件加载等功能,以对保存在其中的数据执行一些操作。
假设我们有一个文件名,需要从这个文件中读取数据,我们需要一些方法来遍历目录中的文件,以找到我们需要的文件。下面解释了 Python 中用于遍历目录中的文件的各种方法。
在 Python 中使用 os.listdir()
方法遍历目录中的文件
os
模块的 listdir()
方法将目录路径作为输入,并返回该目录中所有文件的列表。由于我们要找到该目录中的具体文件,所以我们要通过文件名的循环来找到所需的文件。下面的代码示例演示了如何使用 Python 中的 listdir()
方法,通过迭代找到一个特定的文件。
import os
files = os.listdir("Desktop/myFolder")
myfile = 'filename.txt'
for filename in files:
if filename == myfile:
continue
在 Python 中使用 pathlib.path().glob()
方法遍历目录中的文件
pathlib
模块的 path()
方法将目录路径字符串作为输入,并返回该目录和子目录中所有文件的路径列表。
假设我们要查找的文件是 .txt
文件,我们可以通过 path().glob()
方法得到所有 .txt
文件的路径。下面的代码示例演示了如何使用 Python 中的 path
方法遍历一个目录中所有的 .txt
文件。
from pathlib import Path
pathlist = Path("Desktop/myFolder").glob('**/*.txt')
myfile = 'filename.txt'
for path in pathlist:
if path.name == myfile:
continue
模式**/*.txt
返回当前文件夹及其子文件夹中所有扩展名为 txt
的文件。path.name
只返回文件名而不是完整的路径。
在 Python 中使用 os.walk()
方法遍历目录中的文件
os
模块的 walk()
方法也是将目录路径字符串作为输入,并将根目录的路径作为字符串返回,子目录的列表,以及当前目录及其子目录中所有文件的列表。
要找到名称为 filename.txt
的文件,我们可以先得到该目录中的所有文件,然后再通过循环得到所需的文件。下面的代码示例演示了如何通过遍历一个目录中的文件来查找文件。
import os
myfile = 'filename.txt'
for root, dirs, files in os.walk("Desktop/myFolder"):
for file in files:
if file == myfile:
print(file)
在 Python 中使用 iglob()
方法遍历目录中的文件
glob()
模块的 iglob()
方法将所需文件的目录路径和扩展名作为输入,并返回所有具有相同扩展名的文件路径。下面的代码示例演示了如何在 Python 中使用 iglob()
方法在目录中循环查找所需文件。
import glob
for filepath in glob.iglob('drive/test/*.txt'):
if filepath.endswith('/filename.txt'):
print(filepath)