python之文件的读/写

读写的方法

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()

猜你喜欢

转载自blog.csdn.net/dldl1718/article/details/86636802