這是我的第一篇文章,所以要溫柔。 ;)Python沃克不會進入特定的文件夾
問題:我想能夠使用os.walk作爲目錄walker,但不能做到某些文件夾。例如:
樹:
\Proj1_0
\Load001
\lib
\src
\Proj2_0
\Load001
\lib
\src
\Load002
\lib
\src
我想說明的項目和加載,但不是在外力作用下的子目錄。我可以使用下面的代碼來做到這一點。
import os
for root, subFolders, files in os.walk('.'):
# root does NOT contain 'Load'
if root.find('Load') == -1:
print "\nPROJECT: " + root + "\n"
for folder in subFolders:
print " " + folder
然而,列出的是一個大名單,所以我試圖用DEL鍵,但不能讓它的工作權和使用列表,如(這是我從另一個崗位來到這裏)同樣的事情:
def my_walk(top_dir, ignore):
for dirpath, dirnames, filenames in os.walk(top_dir):
dirnames[:] = [
dn for dn in dirnames
if os.path.join(dirpath, dn) not in ignore]
yield dirpath, dirnames, filename
list my_walk('.','Load')
但是我無法得到正確的返回工作。我是Python新手,非常感謝任何幫助。謝謝!
歡迎來到StackOverflow!對於初學者來說,它是如何不起作用的?它不會忽略文件夾嗎?你在「忽略」中給出了什麼論點? –
我想函數os.listdir(..)應該滿足你的需求:) – ddzialak
哇...什麼'dirnames [:] = ...'在做?因爲我知道'dirnames [:]'做了一個列表的副本,但假設它不應該在'='的左側 – ddzialak