文件打开和读取二"/>
文件打开和读取二
文件后缀名
1.文件后缀名又叫文件扩展名,可以用来某个文件属于什么类型的。
2..jpg .jpeg .gif .png .bmp都是图片文件
.txt是文本文件
.pdf是PDF文件
.docx .doc是Word文件
.xlsx .xls是Excel文件
.ppt是PPT文件
2.上一篇笔记中,我们知道了文件夹的路径为"/Users/aLing/",我们可使用字符串 拼接的方式,获得图片
的路径。
收件人姓名该如何获取呢?在这里,可以通过for循环遍历字典receiverDict,得到字典的键。
接着,通过字符串拼接的方式,就可以批量获得图片路径。
3.小tip:
例如:
number="1" + "2" + "3"
print(number)
输出:
123
注释:
输出就不会带上引号了,是以字符串方式输出的。
4.小tip:
studentAge = {"Gary": 14, "Adam": 13, "Jack": 15}
for key in studentAge:
print(key)
OUTPUT:
Gary
Adam
Jack
注释:
也就是说,如果让输出键的话,那么就只是输出键了,不会输出值的
5.实例操作:
sender=
receiverDict={}(是字典)
path="/Users/aLing"
#for循环遍历字典receiverDict,将键赋值给变量receiver
for receiver in receiverDict:
#将字符串path+"/"+ receiver +".jpg"
filePath = path + "/" + receiver + ".jpg"
#使用print()输出filePath
print(filePath)
6.刚才的操作是获得每张图片的路径,接下来就需要读取图片的内容。
我们在要在读取图片文件时,需要先打开图片文件。在这里,可以使用with...as语句配合open()函数的方式
,打开图片。
7.path="/Users/aLing/bobo.jpg"
with open(path,"rb") as imageFile:
print(imageFile)
注释:
这段代码使用了with...as语句配合open()函数,打开了aLing文件夹中一张名为bobo.jpg的图片,最后输
图片对象。
8.open()函数用于打开一个文件,并且返回文件对象。
通常,open()函数常用形式是接收两个参数:
文件路径和打开方式。
9.open()函数传入的第一个参数是文件路径,这个参数是必选参数。
在本例中,由于图片路径以字符串的形式赋值给变量path,在这里,我们就传入变量path。
10.打开方式:
打开方式要用特定的字符串表示。
由于我们要打开一张图片,在这里打开方式为:rb。rb表示以只读的方式读取二进制文件,即Read Binary的
缩写。
open()函数还可以对文件进行写入。
11.with...as...
open()函数在读取文件时,有时候会发生异常。为了能在发生异常的时候,自动释放打开的文件资源,我们
搭配使用with...as...语句。
使用with...as...语句,首先执行with后面的open()函数,返回值会赋给as后面的变量。
12.前面我们已经批量获取到了图片的路径,那么批量打开图片也应该在循环内。
注意as后面是个变量。
12.with...as...:
这个冒号不要忘记,是固定搭配。
13.with...as...语句内的代码块有缩进,要与if语句、for循环的缩进保持一致,保持同一种代码风格。
14.print(imageFile)表示输出这个变量,返回该图片对象,证明成功打开了这个图片。
15.实际操作:
path="/Users/aLing"
for receiver in receiverDict:
filePath=path+"/"+receiver+".jpg"
with open(filePath,"rb") as imageFile:
print(imageFile)
记住这个print()是要再进行缩进的。
16.前面我们在程序中能够批量打开图片,接下来就要批量读取图片。
在这里,我们可以调用read()函数,read()函数可以逐个字节(或者说可以逐个字符)读取文件中的内容。
由于是二进制格式打开图片,所以读取的图片内容是二进制格式。
17.调用read()函数读取变量imageFile,并赋值给变量fileContent;使用print()输出fileContent。
sender="aLing@qq"
receiverDict=
将文件路径赋值给变量path
path="/Users/aLing"
for循环遍历字典receiverDict,将键赋值给变量receiver
for receiver in receiverDict:
filePath = path +"/" +receiver +".jpg"
使用with...as...以rb方式,打开路径为filePath的图片,并赋值给imageFile
with open(filePath,"rb") as iamgeFile:
使用read()读取imageFile,赋值给变量fileContent
fileContent = imageFile.read()
使用print()输出变量fileContent
print(fileContent)
18.编写好代码运行程序,就输出了所有图片的二进制格式。
这样,所有图片就以二进制格式保存下来。
更多推荐
文件打开和读取二
发布评论