Python - 列出所有目录/文件并跟随

3
我正在远程服务器上运行以下命令: python -c 'import os, json; print json.dumps(os.listdir("."))' 这个命令可以很好地列出当前目录中的文件/目录,但是如果要跟随目录并列出包含的文件,该如何修改呢?

4
看起来你需要类似于这样的东西:https://dev59.com/cGQn5IYBdhLWcg3wRlcM#16974952 - Ilya
@Ilya也在考虑同样的事情,尽管需要一些严格的嵌套来迭代os.walk,然后迭代os.walk的文件名,以尝试将其变成一行代码。 - David
它不必是一行代码,我可以保存到.py文件中并在需要时执行。 - Ricky Barnett
2个回答

3
Python非常方便,提供了一个标准库函数。 os.walk 将递归列出子目录中的文件的模式封装起来。
以下是如何将此目录或任何子目录中所有文件的列表转换为JSON格式。 我使用了一个两级 列表推导式 来连接文件列表。
import json
import os

print(json.dumps([file for root, dirs, files in os.walk('.') for file in files]))

1
out_list = []
for (path, dirs, files) in os.walk("."):
    for f in files:
        out_list.append(os.path.join(path, f))
    for d in dirs:
        out_list.append(os.path.join(path, d))

print json.dumps(out_list)

这将包括完整路径下的目录和文件在输出中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接