gpt4 book ai didi

python - 将目录的每个文件的路径获取到python中的数组中

转载 作者:太空宇宙 更新时间:2023-11-04 10:33:06 25 4
gpt4 key购买 nike

我试图将 Data 文件夹中每个文件的路径放入数组 files[] 中,但是当我尝试进入子文件夹时,我希望它能够一直到Data 文件,例如我可以读取主文件夹 Data 的子文件夹中的文件,我试图将每个文件的所有路径列表放入数组中,但它不会更深入,它不会访问子文件夹Data 的子文件夹,而无需编写循环。我想要的是一个循环,它具有 Data 文件夹中文件的无限深度 View ,因此我可以获得所有文件路径。

例如这是我得到的:

['Data/DataReader.py', 'Data/DataReader - Copy.py', 'Data/Dat/DataReader.py', 'Data/fge/er.txt']

这是我想要的,但它仍然可以进入更深的文件夹:

['Data/DataReader.py', 'Data/DataReader - Copy.py', 'Data/Dat/DataReader.py', 'Data/fge/er.txt', 'Data/fge/Folder/dummy.png', 'Data/fge/Folder/AnotherFolder/data.dat']

这是我当前的路径,我需要添加或更改什么?

import os
from os import walk

files = []
folders = []
for (dirname, dirpath, filename) in walk('Data'):
folders.extend(dirpath)
files.extend(filename)
break

filecount = 0
for i in files:
i = 'Data/' + i
files[filecount] = i
filecount += 1

foldercount = 0
for i in folders:
i = 'Data/' + i
folders[foldercount] = i
foldercount += 1

subfolders = []
subf_files = []
for i in folders:
for (dirname, dirpath, filename) in walk(i):
subfolders.extend(dirpath)
subf_files.extend(filename)
break

subf_files_count = 0
for a in subf_files:
a = i + '/'+a
files = files
files.append(a)
print files
subf_files = []

print files
print folders

非常感谢!

最佳答案

不明白你想做什么,尤其是为什么你在第一个元素之后打破你的walk:

import os

files = []
folders = []
for (path, dirnames, filenames) in os.walk('Data'):
folders.extend(os.path.join(path, name) for name in dirnames)
files.extend(os.path.join(path, name) for name in filenames)

print files
print folders

关于python - 将目录的每个文件的路径获取到python中的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25106797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com