【问题标题】:Python - Iterate through a list and pull path from each directoryPython - 遍历列表并从每个目录中提取路径
【发布时间】:2019-04-17 13:40:59
【问题描述】:

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

我有一个列表中所有目录的列表,并希望运行该列表并仅获取第一个文件名。

list = [path1,path2,path3]

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

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

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

【问题讨论】:

    标签: python pandas


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2014-03-07
      • 2015-12-30
      • 2012-03-05
      • 2017-05-27
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      • 1970-01-01
      • 2017-11-12
      相关资源
      最近更新 更多