python - os.walk 获取目录名

标签 python os.walk

我有这样的文件结构:

d:\temp\random1\index.html
d:\temp\random2\index.html
d:\temp\random3\index.html

我想获取在 python 中列出的路径。所以输出将是:

files = ['path': 'd:\temp\random1\index.html', 'directory': 'random1']

我正在使用这样的代码:

files = []
for dirpath, dirnames, filenames in os.walk('D:\\temp'):
    for fname in filenames:
        if fname.endswith(".md"):
            path = os.path.join(dirpath,fname)
            files.append({'path':path,'directory': dirpath})

但我不知道如何获取目录值。我用这段代码得到的是:

files = ['path': 'd:\temp\random1\index.html', 'directory': 'd:\temp\random1\']

如何在没有一些肮脏黑客的情况下获取目录?

最佳答案

尝试

dirname = dirpath.split(os.path.sep)[-1]

关于python - os.walk 获取目录名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14183930/

相关文章:

Python。重命名子目录中的文件

python - 将一个系列或数组限制在一个值范围内

c# - Python3.6内调用C#代码

python - 使用 if else 语句的输出创建新列会导致错误

python - 在 python 中使用不区分大小写的 endswith

python - 需要使用 os.walk() 的特定文件的路径

Java 和 Python

python - 机器人框架V4 : Python Cosmos DB config

Python:无法在我的代码中找到错误。 os.walk() 返回的文件名

python - os.walk 认为我的目录只包含 .DS_Store 文件