Chr*_*ann 23
您可以使用 os.walk()
# !/usr/bin/python
import os
directory_list = list()
for root, dirs, files in os.walk("/path/to/your/dir", topdown=False):
for name in dirs:
directory_list.append(os.path.join(root, name))
print directory_list
Run Code Online (Sandbox Code Playgroud)
编辑
如果您只想要第一级而不是实际"遍历"子目录,则代码更少:
import os
root, dirs, files = os.walk("/path/to/your/dir").next()
print dirs
Run Code Online (Sandbox Code Playgroud)
这不是真正的os.walk目的.如果你真的只想要一个级别的子目录,你也可以os.listdir()像Yannik Ammann一样使用:
root='/path/to/my/dir'
dirlist = [ item for item in os.listdir(root) if os.path.isdir(os.path.join(root, item)) ]
print dirlist
Run Code Online (Sandbox Code Playgroud)
pok*_*oke 12
从 Python 3.4 开始,您还可以使用新pathlib模块:
from pathlib import Path
p = Path('some/folder')
subdirectories = [x for x in p.iterdir() if x.is_dir()]
print(subdirectories)
Run Code Online (Sandbox Code Playgroud)
您可以os.listdir() 在此处使用指向文档的链接
警告返回文件和目录
例子:
import os
path = 'pyth/to/dir/'
dir_list = os.listdir(path)
Run Code Online (Sandbox Code Playgroud)
更新:您需要检查返回的名称是目录还是文件
import os
path = 'pyth/to/dir/'
# list of all content in a directory, filtered so only directories are returned
dir_list = [directory for directory in os.listdir(path) if os.path.isdir(path+directory)]
Run Code Online (Sandbox Code Playgroud)
你应该先导入os.
import os
files=[]
files = [f for f in sorted(os.listdir(FileDirectoryPath))]
Run Code Online (Sandbox Code Playgroud)
这将为您提供列表,其中FileDirectoryPath中的所有文件已排序.
我使用os.listdir
获取目录的所有文件夹名称
folder_names = []
for entry_name in os.listdir(MYDIR):
entry_path = os.path.join(MYDIR, entry_name)
if os.path.isdir(entry_path):
folder_names.append(entry_name)
Run Code Online (Sandbox Code Playgroud)
获取目录的所有文件夹路径
folder_paths = []
for entry_name in os.listdir(MYDIR):
entry_path = os.path.join(MYDIR, entry_name)
if os.path.isdir(entry_path):
folder_paths.append(entry_path)
Run Code Online (Sandbox Code Playgroud)
获取目录的所有文件名
file_names = []
for file_name in os.listdir(MYDIR):
file_path = os.path.join(MYDIR, file_name)
if os.path.isfile(file_path):
file_names.append(file_name)
Run Code Online (Sandbox Code Playgroud)
获取目录的所有文件路径
file_paths = []
for file_name in os.listdir(MYDIR):
file_path = os.path.join(MYDIR, file_name)
if os.path.isfile(file_path):
file_paths.append(file_path)
Run Code Online (Sandbox Code Playgroud)
对于 python 3 我正在使用这个脚本
import os
root='./'
dirlist = [ item for item in os.listdir(root) if os.path.isdir(os.path.join(root, item)) ]
for dir in dirlist:
print(dir)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27166 次 |
| 最近记录: |