zoukankan      html  css  js  c++  java
  • python 文件混合读写模式 mode='r+'

    # 常用 混合模式  mode  r+  读写混合模式.
    
    # 默认起始坐标为0,直接写入会覆盖原文件的内容.
    # 使用 f.seek(0,2) 把光标移到最后再进行写入操作.
    # f.read()读操作后光标会移到最后.
    
    # f.seek(0)  # 0 代表从开文件头开始算起. seek(5,0)开头第5个字符起.
    # f.seek(1)  # 1 代表从当前位置开始算起. seek(5,1)当前位置起第5个字符起.
    # f.seek(0,2) # 2 表示从文件末尾算起, 0,2移动到文件倒数第0个字节, -1,2 倒数第一个字节, -2,2 倒数第二个字节.
    
    # f.truncate()    # 从当前位置截断文件. 先使用 f.seek(0,2)把光标移到最后.再使用此方法能返回当前文件内字符位数.
    # f.truncate(50)    # 从起始位置保留50位后面的截断.内容不足50位用空补齐.
    
    # print(f.readable())   # f.readable 判断文件是否可读.
    # print(f.seekable())   # 判断文件是否可读. #驱动 终端不可读
    # print(f.writable())    # 判断文件是否能写入
     1 f = open(file='D:/OP/Logr+.txt', mode='r+', encoding='utf-8')
     2 
     3 f.seek(0,2)  # 把光标移到最后 # 2表示从文件末尾算起, 0,2移动到文件倒数第0个字节, -1,2 倒数第一个字节, -2,2 倒数第二个字节.
     4 count = (f.truncate())    # 从当前位置截断文件.  能返回当前文件内字符位数. 需先使用 f.seek(0,2) 把光标移到最后
     5 print('打开文件后文本总数:', count)
     6 
     7 f.seek(0) # 把光标移动起始位置
     8 data = f.read()
     9 print("写入前的文件内容: 1\n",data)
    10 
    11 # 写入文件.使用read()读取操作后,光标默认在末尾.
    12 # 打开文件后默认起始坐标为0,直接写入会覆盖原文件的内容.
    13 # 推荐使用 f.seek(0,2) 把光标移到最后再写
    14 f.write('\n测试r+ 写入A')
    15 
    16 data2 = f.read()
    17 # 写入操作后直接使用f.read()的打印内容为空.
    18 # 因为写入操作后光标移到文件最后,后面无内容. 实际写入的内容已保存到文件.
    19 print("写入操作后直接read()读取内容,开始2:",data2,"结束2")
    20 
    21 f.seek(0) # 光标移到起始
    22 data3 = f.read()
    23 print('seek(0)后 读取的文件内容3:\n',data3,"\n结束3")
    24 
    25 # read()后光标在末尾
    26 count = (f.truncate())    # 从当前位置截断文件.  能返回当前文件内字符位数. 需先使用 f.seek(0,2) 把光标移到最后
    27 print('写入后文本总数:', count)
    28 
    29 f.truncate(50)    # 从起始位置保留50位后面截断.
    30 
    31 f.close()
  • 相关阅读:
    如何查看MySQL执行的每条SQL
    最简单的方式在linux上升级node.js版本
    快速理解字符串和编码
    macaca常见错误排查
    macaca自动化初体验
    F2eTest程序快捷方式安装到桌面
    centos下mysqlreport安装和使用
    前端纯css 图片的模糊处理
    gulp入门学习教程(入门学习记录)
    关于nodejs中npm命令没有反应的解决方法
  • 原文地址:https://www.cnblogs.com/levia/p/14777488.html
Copyright © 2011-2022 走看看