读写的方法
python中,常见的方法有read(),readline(),readlines(),write(),writelines().
- read()方法返回字符串或字节串,可以设置参数,用指定读出字节数,不指定或指定为负数这是读取全部内容。
- readline()方法读取一行数据,包括’\n’字符,如果指定参数(参数是字节数),则读取指定字节数的字符。
- readlines()方法以行为单位读取,读取多行数据,如果指定参数(参数是字节数),表示读取相当于字节数的行数。
read()可用于读取文本文件和二进制文件,方便简单;readline()更适合读取文本文件。
- write()用于将指定的数据写入文件,方法的参数就是写入的数据。参数必须是字符串或字节串。返回写入的字节数。适合向文本文件和二进制文件写入数据。
- writelines() 向文件写入一个字符串的列表,如若要换行,自行加入每行的换行符,方法不返回结果。更适合以行为单位写入文本文件内容。
- tell()返回文件的读/写指针指向的位置。下一次的读/写操作将在这个位置展开。
- seek(offset[, from])方法用于设置文件的读/写指针位置,参数offset用于指定指针要移动的字节数。参数offset用于指定指针位置的基点(参考位置)。若from被设0,这将意味着将文件的开头作为移动字节的参考位置;设为1,使用当前的位置作为参考位置;设为2,文件的末尾作为参考位置。不指出from,默认参数from为零.
下面给出几个例子:
with open('ff.txt', 'w') as f:
for i in range(10):
s = 'look at here, 第' + str(i+1) + '行'+'\n'
#为了美观写入换行符
f.write(s)
# 写入文件
f.close()
with open('ff.txt', 'r') as f :
while True:
s = f.readline()
# 表示一直读取到文档尾部,读取到一行为空结束
if s == '':
break
print(s)
f.close()
# 要成良好的代码习惯从关闭文件做起
# 复制一个二进制文件
with open('ff.txt', 'rb') as f:
with open('gg.txt', 'wb') as g:
while True:
s = f.read(10)
if s ==b'':
break
print(s)
g.write(s)
f.close()
g.close()
#输出显示的是字节串,文档中显示的是字符串(原文档是字符串)。
# 修改一个二进制文件
with open('ff.txt', 'r+b') as f:
f.seek(0, 2)
if f.tell() <= 110:
print("无法实现原题要求")
else:
f.seek(100)
s = b'repair'
f.write(s)
f.close()