2010-05-19 76 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