python基礎 遍歷檔案方法

2021-08-28 23:48:31 字數 2412 閱讀 7139

往往會需要遍歷目錄,資料夾下的檔案。需要清楚脈絡

os.walk(top[, topdown=true[, οnerrοr=none[, followlinks=false]]])

用於通過在目錄樹中游走輸出在目錄中的檔名,向上或向下

import os

for root, dirs, files in os.walk(".", topdown=false):

for name in files:

print(os.path.join(root, name))

for name in dirs:

print(os.path.join(root, name))

有下面這樣的檔案路徑

輸出aaa

['4']

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

aaa\4

['5.txt','6.txt']

for a in os.walk(filedir):

print(a[0])

print(a[1])

print(a[2])

輸出aaa

['4']

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

aaa\4

['5.txt','6.txt']

for a in os.walk('f:/a'):

print(a[2])

['1.txt']

['3.txt', '4.txt']

此方法的a[2]就是所有的file

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

for file in files:

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

輸出

aaa\1.txt

aaa\2.txt

aaa\3.txt

aaa\4\5.txt

aaa\4\6.txt

此方法通過遍歷檔案可以得到所有的檔案

注意,當我想要所有的檔案,不管在幾級目錄下,通過遍歷就可以得到所有檔案像,文件之類。

all = 

for a in os.walk('f:/a'):

for i in a[2]:

print(all)

['f:/a\\1.txt', 'f:/a\\2\\3.txt', 'f:/a\\2\\4.txt', 'f:/a\\222\\21.txt', 'f:/a\\2222\\21.txt']

那麼當想要得到所有二級目錄 ,前提在各個資料夾下沒有資料夾了

glob.glob函式

返回所有匹配的檔案路徑列表。它只有乙個引數pathname,定義了檔案路徑匹配規則,這裡可以是絕對路徑,也可以是相對路徑

python 檔案遍歷

1.使用os.listdir dir 得到一定list包含了目錄下所有的檔案和資料夾 os.path.join dir,filename 獲得檔案的全路徑 os.path.isdir filepath 判斷是不是乙個dir import os,sys import re def deal log l...

Python檔案遍歷

python檔案遍歷 重點 以下兩個方法裡面的path都是絕對路徑。os.path.isdir path os.path.isfile path 深度遍歷檔案 如下 借用棧的後進先出的思想實現給定path下檔案的遍歷 import os 新建乙個列表 stack def getalldirdep p...

python遍歷txt檔案的方法總結

方法一 直接遍曆法,按行讀取,每行返回乙個字串型別 f1 open c users administrator desktop ly product list.txt r encoding utf 8 for i in f1 print i,end 方法二 read法,如果指定了引數 size,就按...