读取文件的三个步骤:
1.建立文件对象
2.读取文件
3.关闭文件
案例1:读取文件
1.打开冰箱门(建立文件对象)
f =open("c:\\users\\xxl\\test.txt","rb")
# read binary 以二进制的格式读取文件,路径中的\需要用\转义,所以路径中的单斜杠变成了双斜杠
2.把大象拿出来(读取文件)
f.read()
b'This is a test txt\r\nAnd this is the second line'
#这里的b是上面用二进制的格式打开文件,\r是回车,\n是换行
# 这时候,如果再次使用f.read()读取文件,文件将没有内容,这是因为在第一次读取文件的时候,文件已经读取到底了,后面没有内容可以再读取了
f.seek(0,0)#让读取的标志位回到最开始位置,第一个0是偏移量,第二个0是最起始的位置
# 这时候如果再次使用f.read()即可以再次读取到文件内容
# 偏移量,可以理解为读取文件的时候光标的位置距离最起始位置的距离
f.read(5)#从偏移量开始读取5个字节
f.readline()#敲一次读一行
f.readlines()
# 读取多行,并且把内容写入到以列表中。即通过列表显示多行信息
3.关上冰箱门
# f.close()
# 为什么需要关闭文件,open在打开文件的时候,把文件的数据存储到了内存空间中,如果不关闭,那内存将一直被占用,消耗系统资源
写入文件的三个步骤和读取文件有点类似:
1.打开文件
2.写入文件内容
3.保存文件
案例2写入文件:
在用户家目录中建立一个名为testone.txt的文件,写入3行内容
one
two
three
1.打开文件
f =open("c:\\users\\xxl\\testone.txt","wb")#write
#此时如果源文件不在则新建文件,源文件在则清空原文件内容
2.写入文件内容
# f.write("")写入文件
# f.writeline("")以行为单位写入
f.writelines([b"one\r\n",b"two\r\n",b"three"])以列表的形式写入多行,前面的b是因为我们需要以二进制的格式写入进去
3.保存文件
f.close()
案例3:拷贝文件
1.以读的形式打开源文件,以写的形式打开目的文件
f = open("c:\\users\\xxl\\test.txt","rb")
g = open("c:\\users\\xxl\\testone.txt","wb")
2.把源文件内容读取出来,写入到目的文件
write = f.readlines()
g.writelines(write)
3.关闭
f.close()
g.close()
案例4:通过文件对象对cmd.exe对命令行工具做复制
1.以读的形式打开源文件,以写的形式打开目的文件
f = open("c:\\windows\\system32\\cmd.exe","rb")
g = open("c:\\users\\xxl\\dmc.exe","wb")
2.把源文件内容读取出来,写入到目的文件
#这里由于cmd文件较大,担心跑死设备,每次仅读取4096字节,使用while循环读取和写入
while True:
write = f.read(4096)
if write == b"":
break#文件读取结束后,自然就是读取到空值,所以这里做判断,如果读取到空值,则break
g.write(write)
3.关闭
f.close()
g.close()
版权声明:本文为weixin_52077935原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。