Python列表目录,子目录和文件

硫霉素:

我试图制作一个脚本来列出给定目录中的所有目录,子目录和文件。
我尝试了这个:

import sys,os

root = "/home/patate/directory/"
path = os.path.join(root, "targetdirectory")

for r,d,f in os.walk(path):
    for file in f:
        print os.path.join(root,file)

不幸的是,它无法正常工作。
我得到了所有文件,但没有得到它们的完整路径。

例如,如果dir结构为:

/home/patate/directory/targetdirectory/123/456/789/file.txt

它会打印:

/home/patate/directory/targetdirectory/file.txt

我需要的是第一个结果。任何帮助将不胜感激!谢谢。

伊莱·本德斯基(Eli Bendersky):

使用os.path.join来连接的目录和文件

for path, subdirs, files in os.walk(root):
    for name in files:
        print os.path.join(path, name)

请注意,path并没有root在串联中使用,因为使用root会不正确。


在Python 3.4中,添加pathlib模块简化路径操作。因此,等效于os.path.join

pathlib.PurePath(path, name)

的优点pathlib是您可以在路径上使用各种有用的方法。如果使用具体的Path变体,您还可以通过它们进行实际的OS调用,例如更改为目录,删除路径,打开其指向的文件等等。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

递归遍历目录并返回包含 Python 中的子目录和文件的嵌套列表

递归删除子目录和文件

如何按顺序获取路径名,子目录名和文件列表?

如何从文件中获取子目录列表,然后在目录中创建这些子目录?

了解/ dev及其子目录和文件

以可预测的方式链接到子目录和文件

使用Java Nio创建子目录和文件

子目录中的foreach python文件

如何使用Shell脚本备份目录和文件,包括所有子目录和文件?

如何加入子目录和文件的名称进行处理-python

如何遍历目录中的子目录并计算python中子目录中的文件

Python-获取目录和子目录的递归列表

获取子目录列表

的Python:列出目录/子目录与文件名

Python:搜索特定文件类型的目录和子目录

Python3如何导入导入子目录文件的子目录文件?

子目录中的文件?

在目录中查找所有匹配模式的文件并复制找到的子目录和文件

设置目录/子目录/文件的权限

如何递归删除子目录和文件,而不是第一个父目录?

已审核-auditctl规则仅监视目录(不是所有子目录和文件等)。

已审核-auditctl规则仅监视目录(不是所有子目录和文件等)。

将目录中的所有子目录和文件递归添加到数组中

复制具有匹配字符串的目录以及所有子目录和文件

如何将子目录(和文件)移动并覆盖到父目录?

将组访问权限更改为目录以及所有子目录和文件

如何添加递归循环以删除包含所有子目录和文件的目录?

Shell脚本,用于按照模式创建目录,子目录和文件

获取用于伪造的子目录中的文件列表