1. 程式人生 > >python+os根據檔名自動生成文字

python+os根據檔名自動生成文字

有時我們有很多檔案(如圖片),我們需要對每一個檔案進行操作。
我們還需要一份檔案的名字來進行遍歷,這時我們首先需要建立一份檔名單,有時還會對檔名做一定的篩選,如我們只選擇jpg格式的圖片。
本文就是利用一個資料夾下的幾張圖片完成這些操作:把所有檔名寫入到一個檔案中。
這可以進一步用來遍歷處理資料

#! usr/bin/env python
#  coding: utf-8

# 為了自動獲取資料夾下的名字並將其寫入檔案,然後利用該檔案來處理對應的檔案


import os
import numpy as np
import cv2


# 先進行路徑操作
currentRoot = os.getcwd() # 當前路徑
imgRoot = currentRoot + '/img' # 圖片所在的路徑 os.chdir(imgRoot) # 切換到圖片所在的路徑 # 開始讀取檔案並將其名稱寫入一個檔案 fileNames = open('imgName.txt','w') # 將要寫入檔名的檔案, w表示write file = os.listdir(imgRoot) # 讀取某個資料夾下的所有檔案 for i in file: #採用檔案控制代碼的方式遍歷檔案 if os.path.splitext(i)[1]=='.jpg': # 判斷是否是jpg檔案,我們只對jpg檔案進行操作 data = str(i) + '\n'
# 將檔名和換行放在一起,檔名採用相對路徑 fileNames.write(data) # 開始寫入檔案 fileNames.close() # 最後關掉檔案

執行程式碼,可得到一個檔案,可看下圖
這裡寫圖片描述

檔案內容如下:
這裡寫圖片描述

如果重新執行一次程式碼,發現檔案內容不會變化。
其實這時候資料夾中已經有了imgName這個檔案,但是其副檔名為txt,所以並不會被利用。