python+os根據(jù)文件名自動(dòng)生成文本
有時(shí)我們有很多文件(如圖片),我們需要對(duì)每一個(gè)文件進(jìn)行操作。
我們還需要一份文件的名字來(lái)進(jìn)行遍歷,這時(shí)我們首先需要建立一份文件名單,有時(shí)還會(huì)對(duì)文件名做一定的篩選,如我們只選擇jpg格式的圖片。
本文就是利用一個(gè)文件夾下的幾張圖片完成這些操作:把所有文件名寫(xiě)入到一個(gè)文件中。
這可以進(jìn)一步用來(lái)遍歷處理數(shù)據(jù)
#! usr/bin/env python # coding: utf-8 # 為了自動(dòng)獲取文件夾下的名字并將其寫(xiě)入文件,然后利用該文件來(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) # 切換到圖片所在的路徑 # 開(kāi)始讀取文件并將其名稱(chēng)寫(xiě)入一個(gè)文件 fileNames = open('imgName.txt','w') # 將要寫(xiě)入文件名的文件, 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) # 開(kāi)始寫(xiě)入文件 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)文章
Django 解決阿里云部署同步數(shù)據(jù)庫(kù)報(bào)錯(cuò)的問(wèn)題
這篇文章主要介紹了Django 解決阿里云部署同步數(shù)據(jù)庫(kù)報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05Python使用protobuf序列化和反序列化的實(shí)現(xiàn)
protobuf是一種二進(jìn)制的序列化格式,相對(duì)于json來(lái)說(shuō)體積更小,傳輸更快,本文主要介紹了Python使用protobuf序列化和反序列化的實(shí)現(xiàn),感興趣的可以了解一下2021-05-05OpenCV 輪廓檢測(cè)的實(shí)現(xiàn)方法
這篇文章主要介紹了OpenCV 輪廓檢測(cè)的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07python借助ChatGPT讀取.env實(shí)現(xiàn)文件配置隔離保障私有數(shù)據(jù)安全
這篇文章主要為大家介紹了python讀取.env實(shí)現(xiàn)文件配置隔離保障私有數(shù)據(jù)安全,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03python opencv 實(shí)現(xiàn)讀取、顯示、寫(xiě)入圖像的方法
這篇文章主要介紹了python opencv 實(shí)現(xiàn)讀取、顯示、寫(xiě)入圖像的方法,本文通示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06關(guān)于VSCode?配置使用?PyLint?語(yǔ)法檢查器的問(wèn)題
這篇文章主要介紹了VSCode?配置使用?PyLint?語(yǔ)法檢查器,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06Django初步使用Celery處理耗時(shí)任務(wù)和定時(shí)任務(wù)問(wèn)題
這篇文章主要介紹了Django初步使用Celery處理耗時(shí)任務(wù)和定時(shí)任務(wù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12python兩個(gè)list[]相加的實(shí)現(xiàn)方法
這篇文章主要介紹了python兩個(gè)list[]相加的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09關(guān)于Django顯示時(shí)間你應(yīng)該知道的一些問(wèn)題
將Django項(xiàng)目部署到Linux系統(tǒng)上進(jìn)行測(cè)試時(shí),發(fā)現(xiàn)操作記錄的時(shí)間與服務(wù)器的時(shí)間不一致,相差13個(gè)小時(shí)。這主要是因?yàn)闀r(shí)區(qū)的問(wèn)題,下面這篇文章主要總結(jié)介紹了關(guān)于Django顯示時(shí)間你應(yīng)該知道的一些問(wèn)題,需要的朋友可以參考下。2017-12-12