Python遍歷文件夾如何利用,由於Python語法簡潔,所以用到的代碼非常非常少,需要遍歷一個文件夾下的所有文件也是超簡單的,那麼Python遍歷文件夾如何利用呢?
方法一:利用函數()來實現遍歷文件夾
函數的定義:返回三元元組dirpath:根路徑 (字符串),dirnames路徑下的所有目錄名(列表),filenames路徑下的所有非目錄文件名(列表))。
其中目錄名和文件名都是沒有加上根路徑的',所以需要完整路徑時需要將目錄名或文件名與根路徑連接起來。
如下代碼所示:
importos root="C:dir" fordirpath,dirnames,(root): forfilepathinfilenames: (dirpath,filepath)
方法二:利用函數dir(),r(),le()
dir() 可以列出路徑下所有文件和目錄名,但是不包括當前目錄., 上級目錄.. 以及子目錄下的文件.
le() 和 r() 判斷當前路徑是否爲文件或目錄
示例 :
importos deflistDir(rootDir): dir(rootDir): pathname=(rootDir,filename) if(le(filename)): printpathname else: listDir(pathname)
在讀文件的時候往往需要遍歷文件夾,python的包含了很多文件、文件夾操作的方法。下面列出:
ath(path) #返回絕對路徑
name(path) #返回文件名
onprefix(list) #返回多個路徑中,所有path共有的最長的路徑。
ame(path) #返回文件路徑
ts(path) #路徑存在則返回True,路徑損壞返回False
sts #路徑存在則返回True,路徑損壞也返回True
nduser(path) #把path中包含的"~"和"~user"轉換成用戶目錄
ndvars(path) #根據環境變量的值替換path中包含的”$name”和”${name}”
time(path) #返回最後一次進入此path的'時間。
time(path) #返回在此path下最後一次修改的時間。
time(path) #返回path的大小
ize(path) #返回文件大小,如果文件不存在就返回錯誤
s(path) #判斷是否爲絕對路徑
le(path) #判斷路徑是否爲文件
r(path) #判斷路徑是否爲目錄
nk(path) #判斷路徑是否爲鏈接
unt(path) #判斷路徑是否爲掛載點()
(path1[, path2[, ...]]) #把目錄和文件名合成一個路徑
case(path) #轉換path的大小寫和斜槓
path(path) #規範path字符串形式
path(path) #返回path的真實路徑
ath(path[, start]) #從start開始計算相對路徑
file(path1, path2) #判斷目錄或文件是否相同
openfile(fp1, fp2) #判斷fp1和fp2是否指向同一文件
stat(stat1, stat2) #判斷stat tuple stat1和stat2是否指向同一個文件
t(path) #把路徑分割成dirname和basename,返回一個元組
tdrive(path) #一般用在windows下,返回驅動器名和路徑組成的元組
text(path) #分割路徑,返回路徑名和文件擴展名的元組
tunc(path) #把路徑分割爲加載點與文件
1. 基本實現
[root@localhost ~]# cat
import os
path='/tmp'for dirpath,dirnames,filenames in (path): for file in filenames:
fullpath=(dirpath,file) print fullpath
執行結果如下:
[root@localhost ~]# python
/tmp/-0/socket
2. 在上例的基礎上傳遞參數
import os,sys
path=[1]for dirpath,dirnames,filenames in (path): for file in filenames:
fullpath=(dirpath,file) print fullpath
執行方式爲:[root@localhost ~]# python /tmp
在這裏,[1]是接受參數,也可以定義[2]接受第二個參數
3. 如何用函數實現
import os,sys
path='/tmp'def paths(path):
path_collection=[] for dirpath,dirnames,filenames in (path): for file in filenames:
fullpath=(dirpath,file)
path_nd(fullpath) return path_collectionfor file in paths(path): print file