假定你希望對某個資料夾中的所有檔案改名,包括該資料夾中所有子資料夾中
的所有檔案。也就是說,你希望遍歷目錄樹,處理遇到的每個檔案。寫程式完成這
件事,可能需要一些技巧。好在,python 提供了乙個函式,替你處理這個過程。
請看 c:delicious 資料夾及其內容,如圖所示。
這裡有乙個例子程式,針對圖的目錄樹,使用了 os.walk()函式:
import os
for foldername, subfolders, filenames in os.walk('c:delicious'):
print('the current folder is ' + foldername)
for subfolder in subfolders:
print('subfolder of ' + foldername + ': ' + subfolder)
for filename in filenames:
print('file inside ' + foldername + ': '+ filename)
print('')
os.walk()函式被傳入乙個字串值,即乙個資料夾的路徑。你可以在乙個 for
迴圈語句中使用 os.walk()函式,遍歷目錄樹,就像使用 range()函式遍歷乙個範圍的
數字一樣。不像 range(),os.walk()在迴圈的每次迭代中,返回 3 個值:
1.當前資料夾名稱的字串。
2.當前資料夾中子資料夾的字串的列表。
3.當前資料夾中檔案的字串的列表。
所謂當前資料夾,是指 for 迴圈當前迭代的資料夾。程式的當前工作目錄,不
會因為 os.walk()而改變。
就像你可以在** for i in range(10):中選擇變數名稱 i 一樣,你也可以選擇前面
列出來的 3 個字的變數名稱。我通常使用 foldername、subfolders 和 filenames。
執行該程式,它的輸出如下:
因為 os.walk()返回字串的列表,儲存在 subfolder 和 filename 變數中,所以你
可以在它們自己的 for 迴圈中使用這些列表。用你自己定製的**,取代 print()函
數呼叫(或者如果不需要,就刪除 for 迴圈)。
php 禁止遍歷目錄,php無限遍歷目錄
以上就介紹了php無限遍歷目錄,包括了方面的內容,希望對php教程有興趣的朋友有所幫助。用的函式有 isset 判斷某個變數是否定義chdir 將當前目錄改變為指定的目錄。opendir 開啟目錄。readdir 讀取目錄。getcwd 獲取當前目錄。還用到了for if get傳值 大概就這些東東...
shell遍歷目錄
bin bash list alldir if gt 0 then list alldir 1 else list alldir fi root gbackup1 zhaoyj chmod x bianli.sh root gbackup1 zhaoyj bianli.sh home sysadmi...
ASP目錄遍歷
setfso createobject scripting.filesystemobject targetpath ext setuploadfolder fso.getfolder uploadpath setallfiles uploadfolder.filesfor eachfileitemi...