Python - 列出所有目录/文件并按照

时间:2016-02-15 10:43:17

标签: python

我在远程服务器上运行以下命令

python -c 'import os, json; print json.dumps(os.listdir("."))'

这适用于列出当前目录中的文件/目录但是如何更改它以跟踪目录并列出包含的文件?

2 个答案:

答案 0 :(得分:3)

Python,渴望取悦,为此提供标准库函数。 os.walk包含递归列出子目录中文件的模式。

以下是如何json-ify此目录或所有子目录中的所有文件的列表。我使用两级list comprehension来连接文件列表:

import json
import os

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

答案 1 :(得分: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)

这将包含输出中带有完整路径的目录和文件。