我有一个文件夹(让我们称之为主文件夹),它有多个文件夹(让我们称之为子文件夹)。每个子文件夹包含 5 个或更少的 PNG 文件。我希望将每个子文件夹的 PNG 文件的路径存储在每个列表中。有多个子文件夹,每个子文件夹中的 PNG 文件都需要位于列表内的单独列表中。我只能将所有 PNG 路径存储在一个列表中。这是我的代码:
import glob
import os.path
image_paths_all = []
for i in range(len(concatenation)):
image_path = "C:\\Users\\path" + str(i) + "path" + str(i) + "path\\*"
for file in glob.glob(image_path):
#print(file)
image_paths_all.append(file)
假设我的 subfolder_1 有 2 个 PNG,subfolder_2 有 4 个 PNG:
C:\\Users\\master_folder\\subfolder_1\\1_1.png
C:\\Users\\master_folder\\subfolder_1\\2_1.png
和
C:\\Users\\master_folder\\subfolder_2\\1_2.png
C:\\Users\\master_folder\\subfolder_2\\2_2.png
C:\\Users\\master_folder\\subfolder_2\\3_2.png
C:\\Users\\master_folder\\subfolder_2\\4_2.png
我的输出代码是一个列表,其中包含:
C:\\Users\\master_folder\\subfolder_1\\1_1.png
C:\\Users\\master_folder\\subfolder_1\\2_1.png
C:\\Users\\master_folder\\subfolder_2\\1_2.png
C:\\Users\\master_folder\\subfolder_2\\2_2.png
C:\\Users\\master_folder\\subfolder_2\\3_2.png
C:\\Users\\master_folder\\subfolder_2\\4_2.png
我的预期输出是一个列表(调用主列表),其中包含:
[C:\\Users\\master_folder\\subfolder_1\\1_1.png,C:\\Users\\master_folder\\subfolder_1\\2_1.png]
作为主列表中的一个列表和
[C:\\Users\\master_folder\\subfolder_2\\1_2.png,C:\\Users\\master_folder\\subfolder_2\\2_2.png,C:\\Users\\master_folder\\subfolder_2\\3_2.png,C:\\Users\\master_folder\\subfolder_2\\4_2.png]
作为主列表中的另一个列表
最佳答案
您可以使用这个示例。 我的目录结构:
test
├── sub1
│ ├── 1_2.png
│ └── 1.png
└── sub2
├── 1_3.png
└── out.png
代码:
import os
sub_folders_path = 'test'
image_paths_all = []
for sub_folder in os.listdir(sub_folders_path):
path = os.path.join(sub_folders_path, sub_folder)
files = os.listdir(path)
files_path = [os.path.join(path, file) for file in files]
image_paths_all.append(files_path)
输出:
[['1_3.png', 'out.png'], ['1_2.png', '1.png']]
关于python-3.x - 如何生成包含子文件夹中文件列表的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57798364/