python,遍歷文件的方法


  在做驗證碼識別時,識別時需要和庫里的圖片對比,找到最接近的那個圖片,然后就行到了用與圖片一致的字符命名,獲取文件的名稱,去將圖片的名稱讀出來作為驗證碼。以下是我通過網上的資料總結的三種文件遍歷的方式,第一種和第二種相似,只是和第三種有一些區別。

  首先要獲得文件夾的路徑,我是對某個文件夾下的文件進行遍歷,需要去除文件的后綴,注:num為我創建的一個文件夾

  

import os  # 需要用到os包

s = os.sep  # s區分在linux或windows系統下的分割符"/"或"\"
root = "C:\Users\XXX\Desktop" + s + "num" + s  # 文件路徑

mode = []  # 用mode進行去掉后綴的文件名存儲。

# 遍歷文件的第一種方式:

sname = os.listdir(root)  # 獲取文件夾下文件或文件夾的名稱,獲取到的sname的格式為('1.jpg')。

for f in sname:
    fname = os.path.splitext(f)  # 對f中的文件名進行分割,分割后顯示為['1','jpg']
    mode.append(fname[0])  # fname[0],取序列中的第一值,即['1']


# 遍歷文件第二種方法(python2支持,python3不支持)

def func(args, dire, fis):
    for f in fis:
        fname = os.path.splitext(f)  # splitext分割文件名和文件后綴
        mode.append(fname[0])
os.path.walk(root, func, ())  # 通過調用函數進行文件的遍歷,這種方法只能獲取到文件夾下的文件名,不能獲取到子文件夾下的其他內容


# 使用os.walk-遍歷文件的第三種方法:

for rt, dirs, files in os.walk(root):  # 通過os.walk進行文件遍歷,可以獲得文件夾下子文件內的內容,dirs為遞歸查出的所有文件夾,files為遞歸查出的所有文件
    for f in files:
        fname = os.path.splitext(f)
        mode.append(fname[0])

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM