西安做的好的網(wǎng)站公司南昌seo全網(wǎng)營銷
在Python 3.7中,os.walk()
函數(shù)的用法與早期版本(包括Python 3.4及之后)保持一致。os.walk()
是一個用于遍歷目錄樹的生成器函數(shù),它生成給定目錄中的文件名。這個函數(shù)沒有直接的參數(shù)(除了你要遍歷的目錄路徑,但這不是os.walk()
的參數(shù),而是你調用它時提供的),但它返回一個三元組,包含當前目錄路徑、當前目錄下的子目錄列表以及當前目錄下的非目錄文件列表。
參數(shù)
嚴格來說,os.walk()
不接受除了目錄路徑之外的任何參數(shù)。但是,你可以通過修改返回的dirnames
列表來影響遍歷的行為。
- 目錄路徑:當你調用
os.walk(path)
時,path
是你想要遍歷的目錄的路徑。這不是一個直接傳遞給os.walk()
的參數(shù),但它是調用該函數(shù)時你提供的輸入。
返回值
os.walk()
返回一個生成器,該生成器在每次迭代時產生一個三元組(root, dirs, files)
:
- root:一個字符串,表示當前正在查看的目錄的路徑。
- dirs:一個列表,包含了root中所有的子目錄名(不包括路徑)。你可以修改這個列表來影響
os.walk()
接下來的遍歷行為。例如,你可以從列表中刪除某個子目錄名,以阻止os.walk()
遍歷該子目錄。 - files:一個列表,包含了root中所有的非目錄文件名(不包括路徑)。
示例
下面是一個使用os.walk()
遍歷目錄樹并打印所有文件路徑的示例:
import os # 替換為你的目錄路徑
root_dir = '/path/to/your/directory' for root, dirs, files in os.walk(root_dir): for name in files: print(os.path.join(root, name)) # 如果你想要修改遍歷的行為,可以在這里修改dirs列表 # 例如,阻止遍歷名為'ignore'的子目錄 if 'ignore' in dirs: dirs.remove('ignore')
在這個示例中,os.walk()
遍歷root_dir
指定的目錄,并為每個找到的文件打印其完整路徑。注意,你可以通過修改dirs
列表來影響os.walk()
的遍歷行為。在這個示例中,如果找到一個名為'ignore'
的子目錄,則將其從dirs
列表中刪除,從而阻止os.walk()
遍歷該子目錄。