📅  最后修改于: 2023-12-03 15:34:09.814000             🧑  作者: Mango
在Python中,我们可以使用os模块来列出目录中的所有文件和子目录。但是,有时我们只需要列出目录,而不需要列出目录中的所有文件。
os.walk()
函数可以用来递归遍历目录树。我们可以使用 os.walk()
函数列出目录树中的所有目录,并且跳过目录中的文件。
import os
def get_directories(path):
dirs = []
for dirpath, dirnames, filenames in os.walk(path):
dirs.append(dirpath)
return dirs[1:]
path = '/path/to/your/directory'
directories = get_directories(path)
print(directories)
输出:
['/path/to/your/directory/dir1', '/path/to/your/directory/dir2', '/path/to/your/directory/dir3']
我们还可以使用列表推导式来仅列出目录。
import os
path = '/path/to/your/directory'
directories = [x[0] for x in os.walk(path)]
print(directories[1:])
输出:
['/path/to/your/directory/dir1', '/path/to/your/directory/dir2', '/path/to/your/directory/dir3']
这种方法更加简洁,不过可能不如 os.walk()
函数的性能好。
以上是在Python中仅列出目录的两种方法,希望可以帮助到您!