使用 Python 查找文件

Muhammad Maisam Abbas 2023年1月30日
  1. 在 Python 中使用 os.walk() 函数查找文件
  2. 在 Python 中使用 glob.glob() 函数查找文件
  3. 在 Python 中使用 Path.glob() 函数查找文件
使用 Python 查找文件

本教程将讨论在 Python 中查找文件的方法。

在 Python 中使用 os.walk() 函数查找文件

如果我们想使用 python 在我们的机器上找到特定文件的路径,我们可以使用 os 模块。os 模块为我们的代码提供了许多与操作系统相关的功能。os.walk() 函数path 字符串作为输入参数,并为我们提供目录路径、目录名称和 path 中每个文件的文件名。下面的示例代码向我们展示了如何使用 os.walk() 函数在 Python 中查找文件。

import os


def findfile(name, path):
    for dirpath, dirname, filename in os.walk(path):
        if name in filename:
            return os.path.join(dirpath, name)


filepath = findfile("file2.txt", "/")
print(filepath)

输出:

/Users\maisa\Documents\PythonProjects\file2.txt

在上面的代码中,我们声明了 findfile() 函数,该函数使用 os.walk() 函数来查找我们的文件。findfile() 函数将文件名和根路径作为输入参数,并返回我们指定文件的路径。这种方法为我们提供了文件的绝对路径。

在 Python 中使用 glob.glob() 函数查找文件

我们还可以使用 glob.glob() 函数 来解决我们当前的问题。glob.glob() 函数将路径名作为输入参数,并返回与输入参数匹配的所有文件路径的列表。我们可以指定一个正则表达式作为只匹配我们文件的输入参数。下面的示例代码向我们展示了如何使用 glob.glob() 函数在 Python 中查找文件。

import glob

filepath = glob.glob("**/file.txt", recursive=True)
print(filepath)

输出:

['Find File\\file.txt']

我们将文件名作为输入参数传递给 glob.glob() 函数,它返回我们文件的相对路径。此方法可以为我们提供文件的相对路径以及绝对路径。

在 Python 中使用 Path.glob() 函数查找文件

另一种方法是使用 pathlib 模块。这个 Python 模块提供了代表不同操作系统的文件系统路径的类。我们可以使用 pathlib 模块中的 Path.glob() 函数 来解决我们的特定问题。这个函数类似于 glob 模块中的 glob() 函数。Path.glob() 函数将模式作为输入参数,并返回与输入参数匹配的路径对象列表。示例代码片段向我们展示了如何使用 pathlib 模块在 Python 中查找文件。

import pathlib

filepath = sorted(pathlib.Path(".").glob("**/file2.txt"))
print(filepath)

输出:

[WindowsPath('file2.txt')]

我们将与我们的文件匹配的模式字符串传递给 Path.glob() 函数。Path.glob() 函数返回一个与模式匹配的 WindowsPath 对象列表。使用这种方法,我们可以获得特定于我们操作系统的路径对象。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相关文章 - Python File