有時我們有很多文件(如圖片),我們需要對每一個文件進行操作。
我們還需要一份文件的名字來進行遍歷,這時我們首先需要建立一份文件名單,有時還會對文件名做一定的篩選,如我們只選擇jpg格式的圖片。
本文就是利用一個文件夾下的幾張圖片完成這些操作:把所有文件名寫入到一個文件中。
這可以進一步用來遍歷處理數據
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#! 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,所以并不會被利用。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/qq_27261889/article/details/81151207