📜  使用Python查找给定文件的路径(1)

📅  最后修改于: 2023-12-03 14:49:50.660000             🧑  作者: Mango

使用Python查找给定文件的路径

在我们的开发日常中,有很多情况需要我们查找指定文件的路径,比如配置文件、数据文件等。Python提供了一些工具来帮我们完成这个任务。

1. 使用os模块查找给定文件的路径

Python的os模块提供了很多与操作系统交互的函数,其中有一个函数os.path.abspath()可以将一个路径转换为绝对路径。我们可以利用这个函数与os.path.exists()判断文件是否存在的函数,来寻找给定文件的路径。

例如,查找当前目录下是否存在名为example.txt的文件,并返回其路径:

import os

filename = 'example.txt'
if os.path.exists(filename):
    path = os.path.abspath(filename)
    print(f'文件{filename}的路径为{path}')
else:
    print(f'文件{filename}不存在')

以上代码中,首先使用os.path.exists()函数判断文件是否存在,之后利用os.path.abspath()函数获取其绝对路径,并打印出来。

2. 使用glob模块查找文件路径

除了使用os模块,Python的glob模块也提供了很多查找文件路径的函数。其中,glob.glob()函数可以根据通配符匹配查找符合规则的所有文件,并返回文件路径列表。

例如,查找当前目录下所有扩展名为.txt的文件路径:

import glob

txt_files = glob.glob('*.txt')
for file in txt_files:
    print(f'文件{file}的路径为{os.path.abspath(file)}')

以上代码中,使用glob.glob()函数查找当前目录下所有扩展名为.txt的文件,并使用os.path.abspath()函数将相对路径转换为绝对路径,之后打印出每个文件的路径。

3. 使用os.walk()查找文件路径

除了使用glob模块,Python的os模块也提供了查找文件路径的函数,如os.walk()函数。该函数会遍历指定路径下的所有文件和子目录,并返回它们的路径列表。

例如,查找当前目录下所有的文件路径:

for dirpath, dirnames, filenames in os.walk('.'):
    for file in filenames:
        print(f'文件{file}的路径为{os.path.abspath(os.path.join(dirpath, file))}')

以上代码中,使用os.walk()函数遍历当前目录下的所有目录和文件,之后使用os.path.join()将文件名与其所在的目录合并为绝对路径,并打印出来。

小结

以上就是使用Python查找给定文件的路径的方法。无论是使用os模块的各种函数、使用glob模块的glob.glob()函数,还是使用os模块的os.walk()函数,都可以完成这个任务。最后需要注意的是,打印出来的路径是绝对路径,需要使用os.path.abspath()函数进行转换。