python os模塊總結2-walk

轉載於:http://blog.csdn.net/bagboy_taobao_com/article/details/8938126python

os.walk(top, topdown=True, onerror=None, followlinks=False) ide


能夠獲得一個三元tupple(dirpath, dirnames, filenames), url

第一個爲起始路徑,第二個爲起始路徑下的文件夾,第三個是起始路徑下的文件。spa

dirpath 是一個string,表明目錄的路徑,.net

dirnames 是一個list,包含了dirpath下全部子目錄的名字。orm

filenames 是一個list,包含了非目錄文件的名字。blog

這些名字不包含路徑信息,若是須要獲得全路徑,須要使用os.path.join(dirpath, name).遞歸


經過for循環自動完成遞歸枚舉ip

例如:pdo

F:\aaa 目錄是這樣的文件目錄結構

F:\aaa

|--------1.txt

|--------2.txt

|--------3.txt

|--------4

         |-------5.txt

         |-------6.txt

         |-------7.txt



[python] view plaincopy

  1. #!/usr/bin/env python  

  2. # 2.py  

  3. # use UTF-8  

  4. # Python 3.3.0  

  5.   

  6. # os.walk()的使用  

  7. import os  

  8.   

  9. # 枚舉dirPath目錄下的全部文件  

  10.   

  11. def main():  

  12. #begin  

  13.     fileDir = "F:" + os.sep + "aaa"     # 查找F:\aaa 目錄下    

  14.     for root, dirs, files in os.walk(fileDir):  

  15.     #begin  

  16.         print(root)  

  17.         print(dirs)  

  18.         print(files)  

  19.     #end  

  20.     os.system("pause")  

  21. #end  

  22.   

  23. if __name__ == '__main__':  

  24. #begin  

  25.     main()  

  26. #end  

  27.   

  28.   

  29. # 輸出  

  30. # F:\aaa  

  31. # ['4']  

  32. # ['1.txt', '2.txt', '3.txt']  

  33. # F:\aaa\4  

  34. # []  

  35. # ['5.txt', '6.txt', '7.txt']  


你也能夠這樣



[python] view plaincopy

  1. #!/usr/bin/env python  

  2. # 3.py  

  3. # use UTF-8  

  4. # Python 3.3.0  

  5.   

  6. # os.walk()的使用  

  7. import os  

  8.   

  9. # 枚舉dirPath目錄下的全部文件  

  10.   

  11. def main():  

  12. #begin  

  13.     fileDir = "F:" + os.sep + "aaa"     # 查找F:\aaa 目錄下    

  14.     for a in os.walk(fileDir):  

  15.     #begin  

  16.         print(a[0])  

  17.         print(a[1])  

  18.         print(a[2])  

  19.     #end  

  20.     os.system("pause")  

  21. #end  

  22.   

  23. if __name__ == '__main__':  

  24. #begin  

  25.     main()  

  26. #end  

  27.   

  28.   

  29. # 輸出  

  30. # F:\aaa  

  31. # ['4']  

  32. # ['1.txt', '2.txt', '3.txt']  

  33. # F:\aaa\4  

  34. # []  

  35. # ['5.txt', '6.txt', '7.txt']  


經過for循環便可完成目錄的遞歸.



你還能夠這樣


[python] view plaincopy

  1. #!/usr/bin/env python  

  2. # 2.py  

  3. # use UTF-8  

  4. # Python 3.3.0  

  5.   

  6. # os.walk()的使用  

  7. import os  

  8.   

  9. # 枚舉dirPath目錄下的全部文件  

  10.   

  11. def main():  

  12. #begin  

  13.     fileDir = "F:" + os.sep + "aaa"     # 查找F:\aaa 目錄下    

  14.     for root, dirs, files in os.walk(fileDir):  

  15.     #begin  

  16.         for dir in dirs:  

  17.         #begin  

  18.             print(os.path.join(root, dir))  

  19.         #end  

  20.         for file in files:  

  21.         #begin  

  22.             print(os.path.join(root, file))  

  23.         #end  

  24.     #end  

  25.     os.system("pause")  

  26. #end  

  27.   

  28. if __name__ == '__main__':  

  29. #begin  

  30.     main()  

  31. #end  

  32.   

  33.   

  34. # 輸出  

  35. # F:\aaa\4  

  36. # F:\aaa\1.txt  

  37. # F:\aaa\2.txt  

  38. # F:\aaa\3.txt  

  39. # F:\aaa\4\5.txt  

  40. # F:\aaa\4\6.txt  

  41. # F:\aaa\4\7.txt

相關文章
相關標籤/搜索