使用glob模块在Python中获取文件的绝对路径和相对路径
glob模块是Python标准库中的一个模块,用于搜索文件目录下的文件名或路径名与指定模式匹配的所有文件。下面将介绍如何使用glob模块获取文件的绝对路径和相对路径,并给出相应的示例。
1. 获取文件的绝对路径:
使用glob模块的glob()函数,传入要搜索的文件模式,返回匹配的文件绝对路径的列表。下面是一个获取指定目录下所有txt文件的绝对路径的例子:
import glob
files = glob.glob('/path/to/folder/*.txt')
print(files)
运行结果将打印出所有txt文件的绝对路径。
2. 获取文件的相对路径:
使用os模块中的os.path模块和glob模块结合,可以获取文件的相对路径。下面是一个获取指定目录下所有txt文件的相对路径的例子:
import glob import os folder = '/path/to/folder/' files = glob.glob(os.path.join(folder, '*.txt')) relative_paths = [os.path.relpath(file, folder) for file in files] print(relative_paths)
运行结果将打印出所有txt文件的相对路径。
在上面的例子中,首先使用os.path模块的join函数将文件夹路径和文件模式拼接成完整的文件路径,然后使用os.path模块的relpath函数获取当前工作目录相对于指定文件夹的相对路径。
无论是获取文件的绝对路径还是相对路径,都需要注意以下几点:
- 使用glob.glob函数时,传入的文件模式可以使用通配符*匹配多个文件,例如*.txt表示匹配所有的txt文件。
- 文件路径可以是绝对路径,也可以是相对路径。如果是相对路径,则相对的是当前工作目录。
- 在使用相对路径时,需要确保当前工作目录正确设置,否则可能无法找到文件。
- 不同操作系统的文件路径分隔符不一样,Windows使用反斜杠\,而Unix和Linux使用正斜杠/,因此在拼接文件路径时, 使用os.path模块中的函数来保证路径的正确性。
以上就是如何使用glob模块在Python中获取文件的绝对路径和相对路径的介绍,以及相应的使用示例。在实际应用中,可以根据具体需求进行灵活调整,方便地获取文件路径信息。
