有时我们有很多文件(如图片),我们需要对每一个文件进行操作。
我们还需要一份文件的名字来进行遍历,这时我们首先需要建立一份文件名单,有时还会对文件名做一定的筛选,如我们只选择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