2010-05-19 85 views
0

我想这样的一个GNU命令转换成Python函数:转换GNU find命令到Python功能

find folder/ 2>/dev/null > file.txt 

这一发现将递归列出从目录中的所有文件和文件夹,并将 写入文件。

我现在有Python是:

import os 
project="/folder/path" 
i=0 
for (project, dirs, files) in os.walk(project): 
    print project 
    print files 
    i += 1 

但现在我试图使输出完全一样的发现一样。

+1

你读过'os.walk'了吗?阅读后,请更新您的问题具体。这不是“为me.com写代码” – 2010-05-19 10:04:17

+0

谢谢,我很抱歉不清楚。 – Dragos 2010-05-19 12:09:58

回答

2
import os 
path = "folder" 
for (dirpath, dirnames, filenames) in os.walk(path): 
    print dirpath 
    for filename in filenames: 
     print os.path.join(dirpath, filename) 

而不是print你可以写入文件。

+0

谢谢,这是正确的解决方案。我正在使用 打印项目 如果len(文件)> 0: 打印文件 i + = 1 但它没有加入它们。 谢谢。 – Dragos 2010-05-19 12:09:43

+0

还有一件事请注意,有些文件在阅读时不是由大家或其他错误产生的r-x,我如何防止在Python中包含它们? (2>/dev/null from find) – Dragos 2010-05-19 13:44:01