📌  相关文章
📜  使用Python列出目录中特定类型的所有文件

📅  最后修改于: 2022-05-13 01:54:41.778000             🧑  作者: Mango

使用Python列出目录中特定类型的所有文件

在Python中,有几个用于文件处理的内置模块和方法。这些函数存在于不同的模块中,例如 os、glob 等。 本文帮助您在一个地方找到许多函数,让您简要了解如何使用以下命令列出目录中某种类型的所有文件Python编程。

所以有三个特定的扩展,例如

  • 使用操作系统。走()
  • 使用操作系统。列表目录()
  • 使用 glob。全局()

使用的目录:

路径名为 D:\GFG 的根文件夹的图像

使用 os.walk()函数

在Python编程中,有不同的 os 模块可以使多种方法与文件系统交互。如上所述,它有 walk()函数,它可以帮助我们通过自底向上或自顶向下的方法遍历目录来列出特定路径中的所有文件,并返回 3 个元组,例如 root、dir、files

这里root是根目录或根文件夹,dir是根目录的子目录,files是根目录下的文件,是子目录。

句法:

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))


输出:

os.walk()函数的输出

使用操作系统。 listdir()函数

Os 有另一种方法可以帮助我们在称为 listdir() 的特定路径上查找文件。它以随机顺序以列表格式返回位置或路径中指定的目录中的所有文件名。它不包括“.”和“..”,如果它们在输入文件夹中可用。

句法:

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))

输出:

os.listdir()函数的输出

使用 glob。 glob()函数:

在前面的示例中,我们必须遍历目录中名称与特定扩展名或模式匹配的文件列表。但是 glob 模块提供了查找具有特定扩展名或模式的文件列表的便利。该函数有两个参数,一个是具有特定模式的路径名,该模式过滤掉所有文件并将文件作为列表返回。另一个默认命名为递归的参数它是关闭的意味着假。当它的值为真时,该函数会搜索其目录及其子目录。此处允许使用所有通配符,例如 '?'、'*' 等。

句法:

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))

输出:

glob.glob()函数的输出