在Python中,要扫描目录下的所有文件并获取它们的路径,可以使用os
模块中的os.walk()
函数或者glob
模块。下面是两个示例方法:
使用 os.walk()
import os
def get_file_paths(directory):
file_paths = []
for root, dirs, files in os.walk(directory):
for file in files:
# 将相对路径组合成完整路径
file_path = os.path.join(root, file)
file_paths.append(file_path)
return file_paths
directory_to_scan = '/path/to/your/directory'
paths = get_file_paths(directory_to_scan)
for path in paths:
print(path)
这段代码会递归地遍历指定目录及其所有子目录下的文件,并将每个文件的完整路径添加到file_paths
列表中。
使用 glob
模块
如果你想获取特定模式的文件路径,比如所有的.txt
文件,可以使用glob
模块:
import glob
def get_txt_file_paths(directory):
# '**/*.txt' 表示匹配任何目录下的所有.txt文件
pattern = os.path.join(directory, '**', '*.txt')
txt_file_paths = glob.glob(pattern, recursive=True)
return txt_file_paths
directory_to_scan = '/path/to/your/directory'
txt_paths = get_txt_file_paths(directory_to_scan)
for path in txt_paths:
print(path)
这里,glob.glob()
函数使用通配符来匹配文件路径,recursive=True
参数表示递归地查找所有匹配项。
请将'/path/to/your/directory'
替换为你想要扫描的实际目录路径。