我正在尝试从目录中存储的文件中提取文件路径。我试图只提取目录中的第一个文件,然后将其存储到Dataframe中。
我在列表中包含所有目录的列表,并且希望将其遍历并仅获取第一个文件名。
list = [path1,path2,path3]
我具有以下脚本,该脚本能够获取特定目录中所有文件的路径。
list = bucket.list(prefix="path1")
for l in list:
keyString = str(l.key)
print(keyString)
以上代码获取单个目录中所有文件的路径。我试图查看如何从列表中传递路径信息,然后遍历每个路径并将每个目录中第一个文件的路径存储在Dataframe中。
答案 0 :(得分:1)
执行此操作的方法有多种(这里是一种)。
glob
浏览目录(paths
)。os.path.basename
。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