python下遍歷某個路徑所有檔案是很常用的事,一直對其有所困擾,今天想明白了之後記錄下來,供以後查閱。
首先,資料夾是這樣的:
a,b,c是各包含一張jpg的資料夾,其餘是4張jpg。
遍歷資料夾的方法首先需要呼叫os庫,即
import os
然後使用
os.walk(path)
path是指想遍歷資料夾的路徑
完整**如下:
import os
path=r'c:\users\administrator\desktop\123'
for i in os.walk(path):
print(i)
結果是:
為什麼是這個結果?我當時想了很久,最終明白:
os.walk(path)這個函式得到的結果是乙個或多個tuple,個數取決於路徑下是否有資料夾:如果沒有資料夾的話,那麼只有乙個tuple,如果有的話,假如有3個,那麼就會有4個tuple。
而每個tuple中有三項:
1.當前資料夾的路徑(str型別)
2.當前資料夾中的所有資料夾名稱(list型別)
3.當前資料夾中所有檔案的名稱
所以,當只需要遍歷當前資料夾下的檔案時,只需要取出i[2]即可。
或者使用os.listdir(path)
函式能得到資料夾下所有檔案(包括資料夾)的名稱,但是無法獲取子資料夾的狀態
import os
path = r'c:\1'
filenames = os.listdir(path)
for filename in filenames:
print(filename)
結果
資料夾
Python 遍歷資料夾,得到所有檔案
問題描述 給定乙個路徑,該路徑下僅有一層資料夾,遍歷得到該路徑下的所有檔案 coding utf 8 import os path g bigknowledge files os.listdir path s forfile infiles 遍歷第一層path if os.path.isdir pa...
C 獲取資料夾中所有檔案
獲取資料夾中的檔案,用到過很多次,每次用的時候都要去查下,很煩,所以想自己寫下,當然,借鑑了很多其他大佬的部落格 主要實現的函式,如下 1 void getfiles string path,vector files 2 19else 20 23 while findnext hfile,filei...
定時複製遠端資料夾中所有檔案(Python)
import os,shutil,sys import threading import configparser import datetime 複製檔案 def remote copy src path,dst path start time datetime.datetime.now prin...