读取文件的三个步骤: 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()