文件的读写:
二进制文件:非记事本文件,如:doc,mp3,jpg等

打开模式

描述

r

以只读模式打开文件,文件的指针将会放在文件的开头

w

以只写模式打开文件,如果文件不存在则创建,如果文件存在,则覆盖原有内容,文件指针在文件的开头

a

以追加模式打开文件,如果文件不存在则创建,文件指针在文件开头,如果文件存在,则在文件末尾追加内容,文件指针在文件末尾

b

以二进制方式打开文件,不能单独使用,需要与共他模式一起使用,rb或者wb

+

以读写方式打开文件,不能单独使用,需要与其他模式一起使用,a+


file=open('测试.txt','r')
print(file.readlines())     #以行为单位读取数据,读出方式为列表
file.close()

file=open('测试.txt','a+')
file.write('Python')
file.close()

#拷贝图片
src_file=open('秋绘.png','rb')            #read
target_file=open('秋绘2.png','wb')          #write
target_file.write(src_file.read())
target_file.close()
src_file.close()

[‘qwer\n’, ‘123’]




文件对象的常用方法

关键字

描述

read([size])

从文件中读取size个字节或字符的内容返回。若省略[size],则读取到文件末尾,即一次读取文件所有内容

readline()

从文本中读取一行内容

readlines()

把文本文件中每一行都作为独立的字符串对象,并将这些对象放入列表返回

write(str)

将字符串内容写入文件

writelines(s_list)

将字符串列表s_list写入文本文件,不添加换行符

seek(offset[,whence])

把文件指针移动到新的位置,offset表示相对于whence的位置: offset:为正往结束方向移动,为负往开始方向移动whence不同的值代表不同含义: 0:从文件头开始计算(默认值) 1:从当前位置开始计算 2:从文件尾开始计算

tell()

返回文件指针的当前位置

flush()

把缓冲区的内容写入文件,但不关闭文件

close()

把缓冲区的内容写入文件,同时关闭文件,释放文件对象相关资源


file=open('测试.txt','r')
print(file.read())
file.seek(1)         #文件指针在从第一个位置开始(若文件内容为中文,1个中文字符=2,对于中文字符seek(1)会报错)
print(file.read())
print(file.tell())   #返回文件指针的当前位置   #换行为两个字符
file.close()

qwer
123PythonPythonPython
wer
123PythonPythonPython
27