使用Python列出目录中特定类型的所有文件
在Python中,有几个用于文件处理的内置模块和方法。这些函数存在于不同的模块中,例如 os、glob 等。 本文帮助您在一个地方找到许多函数,让您简要了解如何使用以下命令列出目录中某种类型的所有文件Python编程。
所以有三个特定的扩展,例如
- 使用操作系统。走()
- 使用操作系统。列表目录()
- 使用 glob。全局()
使用的目录:
使用 os.walk()函数
在Python编程中,有不同的 os 模块可以使多种方法与文件系统交互。如上所述,它有 walk()函数,它可以帮助我们通过自底向上或自顶向下的方法遍历目录来列出特定路径中的所有文件,并返回 3 个元组,例如 root、dir、files
这里root是根目录或根文件夹,dir是根目录的子目录,files是根目录下的文件,是子目录。
句法:
os.walk(r’pathname’)
Python
import os
# traverse whole directory
for root, dirs, files in os.walk(r'D:\GFG'):
# select file name
for file in files:
# check the extension of files
if file.endswith('.png'):
# print whole path of files
print(os.path.join(root, file))
Python
import os
# return all files as a list
for file in os.listdir(r'D:\GFG'):
# check the files which are end with specific extension
if file.endswith(".png"):
# print path name of selected files
print(os.path.join(r'C:\GFG\Screenshots', file))
Python
import glob
import os
# glob.glob() return a list of file name with specified pathname
for file in glob.glob(r''D: \GFG' + "**/*.png", recursive=True):
# print the path name of selected files
print(os.path.join(r''D: \GFG', file))
输出:
D:\GFG\gfg_png_file.png
使用操作系统。 listdir()函数
Os 有另一种方法可以帮助我们在称为 listdir() 的特定路径上查找文件。它以随机顺序以列表格式返回位置或路径中指定的目录中的所有文件名。它不包括“.”和“..”,如果它们在输入文件夹中可用。
句法:
os.listdir(r’pathname’)
Python
import os
# return all files as a list
for file in os.listdir(r'D:\GFG'):
# check the files which are end with specific extension
if file.endswith(".png"):
# print path name of selected files
print(os.path.join(r'C:\GFG\Screenshots', file))
输出:
D:\GFG\gfg_png_file.png
使用 glob。 glob()函数:
在前面的示例中,我们必须遍历目录中名称与特定扩展名或模式匹配的文件列表。但是 glob 模块提供了查找具有特定扩展名或模式的文件列表的便利。该函数有两个参数,一个是具有特定模式的路径名,该模式过滤掉所有文件并将文件作为列表返回。另一个默认命名为递归的参数它是关闭的意味着假。当它的值为真时,该函数会搜索其目录及其子目录。此处允许使用所有通配符,例如 '?'、'*' 等。
句法:
glob.glob(path name, recursive=True)
Python
import glob
import os
# glob.glob() return a list of file name with specified pathname
for file in glob.glob(r''D: \GFG' + "**/*.png", recursive=True):
# print the path name of selected files
print(os.path.join(r''D: \GFG', file))
输出:
D:\GFG\gfg_png_file.png