python+os根據(jù)文件名自動(dòng)生成文本
有時(shí)我們有很多文件(如圖片),我們需要對(duì)每一個(gè)文件進(jìn)行操作。
我們還需要一份文件的名字來(lái)進(jìn)行遍歷,這時(shí)我們首先需要建立一份文件名單,有時(shí)還會(huì)對(duì)文件名做一定的篩選,如我們只選擇jpg格式的圖片。
本文就是利用一個(gè)文件夾下的幾張圖片完成這些操作:把所有文件名寫入到一個(gè)文件中。
這可以進(jìn)一步用來(lái)遍歷處理數(shù)據(jù)
#! usr/bin/env python
# coding: utf-8
# 為了自動(dòng)獲取文件夾下的名字并將其寫入文件,然后利用該文件來(lái)處理對(duì)應(yīng)的文件
import os
import numpy as np
import cv2
# 先進(jìn)行路徑操作
currentRoot = os.getcwd() # 當(dāng)前路徑
imgRoot = currentRoot + '/img' # 圖片所在的路徑
os.chdir(imgRoot) # 切換到圖片所在的路徑
# 開始讀取文件并將其名稱寫入一個(gè)文件
fileNames = open('imgName.txt','w') # 將要寫入文件名的文件, w表示write
file = os.listdir(imgRoot) # 讀取某個(gè)文件夾下的所有文件
for i in file: #采用文件句柄的方式遍歷文件
if os.path.splitext(i)[1]=='.jpg': # 判斷是否是jpg文件,我們只對(duì)jpg文件進(jìn)行操作
data = str(i) + '\n' # 將文件名和換行放在一起,文件名采用相對(duì)路徑
fileNames.write(data) # 開始寫入文件
fileNames.close() # 最后關(guān)掉文件
運(yùn)行代碼,可得到一個(gè)文件,可看下圖

文件內(nèi)容如下:

如果重新運(yùn)行一次代碼,發(fā)現(xiàn)文件內(nèi)容不會(huì)變化。
其實(shí)這時(shí)候文件夾中已經(jīng)有了imgName這個(gè)文件,但是其擴(kuò)展名為txt,所以并不會(huì)被利用。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
在Python的Flask中使用WTForms表單框架的基礎(chǔ)教程
WTForms由Python寫成,為表單而生,提供了很多制作Web表單的實(shí)用API,和Flask框架結(jié)合使用效果拔群,這里我們就一起看一下在Python的Flask中使用WTForms表單框架的基礎(chǔ)教程2016-06-06
python中的不可變數(shù)據(jù)類型與可變數(shù)據(jù)類型詳解
探尋python的數(shù)據(jù)類型是否可變,也可以更好的理解python對(duì)內(nèi)存的使用情況,下面這篇文章主要給大家介紹了關(guān)于python中不可變數(shù)據(jù)類型與可變數(shù)據(jù)類型的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-09-09
windows上安裝Anaconda和python的教程詳解
本文主要給大家介紹windows上安裝Anaconda和python的教程詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下2017-03-03
Python?Pandas數(shù)據(jù)處理高頻操作詳解
這篇文章主要為大家整理了一些Python?Pandas數(shù)據(jù)處理高頻操作,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,需要的可以參考一下2022-06-06

