1.文本文件
读写文本文件的相关方法如下。
read(size=-1):从文件中读取字符串,size限制读取的字符数,size=-1指对读取的字符数没有限制。
readline(size=-1) :在读取到换行符或文件尾时返回单行字符串,如果已经到文件尾, 则返回一个空字符串。 size是限制读取的字符数, size=-1表示没有限制。
readlines():读取文件数据到一个字符串列表中,每一行数据都是列表的一个元素。
write(s):将字符串s写入文件中, 并返回写入的字符数。
writelines(lines):向文件中写入一个字符串列表。 不添加行分隔符, 因此通常为每一行末尾都提供行分隔符。
flush():刷新写缓冲区, 在文件没有关闭的情况下将数据写入文件。
文本文件复制示例代码:
f_name='E:/python/漫画/test.txt'
with open (f_name,'r',encoding='gbk')as f:
lines=f.readlines()
copy_f_name=('text2.txt')
with open(copy_f_name,'w',encoding='utf-8')as copy_f:
copy_f.writelines(lines)
print('文件复制成功')
2.二进制文件
二进制文件的读写单位是字节, 不需要考虑编码问题。 二进制文件的主要读写方法如下。
read(size=-1):从文件中读取字节,size限制读取的字节数,如果size=-1, 则读取全部字节。readline(size=-1):从文件中读取并返回一行。size是限制读取的行数,如果size=-1,则没有限制。
readlines() :读取文件数据到一个字节列表中, 每一行数据都是列表的一个元素。
write(b):写入b字节,并返回写入的字节数。
writelines( lines) : 向文件中写入一个字节列表。 不添加行分隔符,因此通常为每一行末尾都提供行分隔符。
flush( ):刷新写缓冲区,在文件没有关闭的情况下将数据写入文件。
复制二进制文件代码示例:
f_name='E:/python/漫画/aixin.jpg'
with open (f_name,'rb')as f:
b=f.read()
copy_f_name=('aixin2.jpg')
with open(copy_f_name,'wb')as copy_f:
copy_f.write(b)
print('文件复制成功')