我们先介绍几个关于读写文件的几个函数
1.open(file,mode)
- 【file】表示一个文件的具体路径,或者要打开的文件名称
- 【mode】mode决定了打开文件的模式
”r“——read表示只读
”w“——write表示只写,当文件不存在时,运行这个语句,它会自己创建一个文件
2.os.listdir(dir)方法用于返回指定文件夹包含的文件或者文件夹的名字列表,这个列表以字母顺序
- 【dir】表示你要读取哪一个文件内的内容
例如:我在程序运行环境内创建了一个pictures文件,文件里是几张图片
import numpy as np import os
picturePath = './pictures'
list1 = os.listdir(picturePath)
print(list1)
这里返回的是pictures文件夹里所有图片的文件名
我们可以用for循环语句改写一下
import numpy as np import os
picturePath = './pictures'
for fi in os.listdir(picturePath):
if fi.endswith(".jpg"): #文件是以jpg结尾的
print(fi)
返回的是一个文件名列表
当我们需要图片名中某一个指定字符时,比如我们需要图片的标签,我们就需要返回图片名中的一个特定字符。我们可以返回我们每一个图片的第三个字符,分别是【5,0,4,1,9,2,1,3】
import numpy as np import os
picturePath = './pictures'
for fi in os.listdir(picturePath):#文件以jpg结尾
if fi.endswith(".jpg"):
print(fi[2])#返回每个图片第三个字符
现在我们把我们读出的字符串读入txt文件,我们需要用到write(path)
- 【path】——file表示需要保存的内容
import numpy as np import os
picturePath = './pictures' #图片存放的文件夹savePath = './pictures/at.txt' #读取图片的名字,保存到txt文件
file_txt = open(savePath ,'w') #打开文件,开始文件不存在,当运行这条语句后,会在pictures文件夹里生成txt文件
for fi in os.listdir(picturePath): #用for循环依次读取文件名
if fi.endswith(".jpg"): #如果文件是以jpg结尾的
file_txt.write(fi +" " +fi[2]+'\n') #把文件存入指定的文件夹,存入的内容为图片的名字+空格+每个图片的第三个字符
运行结果: