Python-遍历列表并从每个目录中提取路径

时间:2019-04-17 13:40:59

标签: python pandas

我正在尝试从目录中存储的文件中提取文件路径。我试图只提取目录中的第一个文件,然后将其存储到Dataframe中。

我在列表中包含所有目录的列表,并且希望将其遍历并仅获取第一个文件名。

list = [path1,path2,path3]

我具有以下脚本,该脚本能够获取特定目录中所有文件的路径。

list = bucket.list(prefix="path1")
for l in list:
    keyString = str(l.key)
    print(keyString)

以上代码获取单个目录中所有文件的路径。我试图查看如何从列表中传递路径信息,然后遍历每个路径并将每个目录中第一个文件的路径存储在Dataframe中。

1 个答案:

答案 0 :(得分:1)

执行此操作的方法有多种(这里是一种)。

  1. 使用glob浏览目录(paths)。
  2. Extract the first file name使用os.path.basename
  3. 将文件名追加到list

如果愿意,还可以使用glob遍历所有子目录。参见this answer

import glob
import os
path = 'C:/git/'

list_of_filenames = []
paths = ['C:/git/test/folder1', 'C:/git/test/folder2']
for path in paths:
    file_path_names = glob.glob(path + '/**.txt')
    if file_path_names: # check if files in dir
        list_of_filenames.append(os.path.basename(file_path_names[0]))

df = pd.DataFrame(list_of_filenames, columns=['file_names'])
print(df)

          file_names
0  folder1_file1.txt
1  folder2_file1.txt