Python:如何返回 os.walk 返回的每个文件的父目录名称?

标签 python python-3.x

我试图从os.walk的每个文件中以字符串形式返回目录名称。发现,这是我到目前为止的代码:

import os
def main():
    path = '/Users/Documents/GitHub/files'
    for dirpath, dirnames, filenames in os.walk(path):
        for x in filenames:
            print(os.path.dirname(os.path.abspath(x)))

if __name__ == "__main__":
     main()

据我了解os.path.dirname()os.path.basename()是将“路径”传递给 os.path.split() 的相应结果但为什么当我使用 os.path.abspath() 时上述不起作用? ?

最佳答案

由于您将问题标记为 python 3.x,您可能会发现 pathlib 库很有用。

from pathlib import Path

path = Path('/Users/Documents/GitHub/files')
for p in path.rglob("*"):
    if p.is_file():
        print(p.parent)

关于Python:如何返回 os.walk 返回的每个文件的父目录名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59469893/

相关文章:

python - 错误解析参数 '--zip-file' : Unable to load paramfile fileb://app. zip: [Errno 2] No such file or directory: 'app.zip'

python - Pandas 数据框删除每个数字的第一行

对于公共(public)方法,Python 模拟补丁无法按预期工作

python-3.x - 如何返回Python列表中组的最后一个索引

python - 仅当验证准确性提高时,我如何才能保存/覆盖我的 TensorFlow/Keras 模型?

python - 在 Lenovo 笔记本电脑上运行 “Windows fatal exception” 脚本时出现不需要的 “pywinatuo”

python - 打印 collection.Counter 实例时出错

python - "import"更喜欢什么 - .pyd (.so) 还是 .py?

python - 动态向python中的对象添加 "real"方法

python - PyCharm 类型暗示​​怪异