Python中的文件夹列表
我有一个问题,关于如何在Python中只列出文件夹,而不是文件夹中的文件。我目前有这几行代码,它们将把所有文件夹中的每个文件合并到一个列表中。如果我有50个文件夹,我想制作50个不同的列表,而不是一个大的列表Python中的文件夹列表,python,list,indexing,directory,Python,List,Indexing,Directory,我有一个问题,关于如何在Python中只列出文件夹,而不是文件夹中的文件。我目前有这几行代码,它们将把所有文件夹中的每个文件合并到一个列表中。如果我有50个文件夹,我想制作50个不同的列表,而不是一个大的列表 Folder_files = [] for dirName, subdirList, fileList in os.walk(Path):
Folder_files = []
for dirName, subdirList, fileList in os.walk(Path):
for filename in fileList:
if "A_0" in dirName:
if ".xml" in filename.lower():
Folder_files.append(os.path.join(dirName,filename))
我知道目前只有文件夹_文件作为我的列表,但是我希望通过使用for循环来尝试创建不同的列表
在选择.xml
文件之前,我需要帮助了解如何读取文件夹A_0
将文件附加到列表之前。我附上了一个示例代码,我认为它如下所示:
for dirName, subdirList, fileList in os.walk(Path):
for filename in fileList:
if "A_0" in dirName:
#for loop in here
#Set up all folders
if ".xml" in filename.lower():
#Add files in folder to the appropriate file list
为了达到这个目的,最好使用目录:
dirs = dict()
for dirName, subdirList, fileList in os.walk(root):
if "A_0" in dirName:
dir_list = dirName.split('/')[-1] # if your directory path is '/foo/bar/baz' your list will be named 'baz'
dirs[dir_list] = [os.path.join(dirName,filename) for filename in fileList if ".xml" in filename]
但如果确实希望将每个列表存储为单独的变量,则可以使用exec()
for dirName, subdirList, fileList in os.walk(root):
if "A_0" in dirName:
dir_list = dirName.split('/')[-1] # if your directory path is '/foo/bar/baz' your list will be named 'baz'
exec(dir_list + '= [os.path.join(dirName,filename) for filename in fileList if ".xml" in filename]')
理解和维护第二段代码要困难得多。所以我鼓励你们使用列表词典 有用吗?
import os
dirs= next(os.walk(r'/home/sirmagid/public_html/ts/'))[1]
for name in dirs:
print name