• 4.文件操作


    对文件操作:
      对文件操作就是对文件的句柄的操作,通过open函数得到文件的句柄。
    一:r,w,a,x,模式
      r: 只有读操作,文件必须存在。读的时候默认光标在最开始读,没有写操作,      encoding在进行解码操作。
      w:无法读取文件,只是写操作,文件存在覆盖写,文件不存在的话,创建文件再写。encoding在进行编码操作。
      a:无法读取文件,只是写操作,文件存在追加写,文件不存在的话,创建文件再写。    encoding在进行编码操作。。
      x:无法读取文件,只是写操作,文件存在的话不会覆盖,会报错。文件不存在的话,创建文件再写。encoding在进行编码操作。
    二:
      可读可写模式:  r+,w+,a+模式
    r+:读:如果直接读,默认从最开始读取文件。同r模式。
       写:如果直接写会覆盖写,先读再写会追加写,根据光标位置进行写操作,写完光标在最后,如果读取文件需要seek进行调整。
       注:文件必须存在,才能进行读写操作!
     
    w+:读:能读但是无法直接读,运行直接覆盖成空文件且光标在最后,所以读取不到东西。
       写:覆盖写。文件存在覆盖写,文件不存在的话,创建文件再写。写完光标在最后,读取文件需要seek进行调整。
       注:读和写时如果文件不存在会创建文件再操作。
     
    a+:读:能读,运行直接把光标放到最后,需要seek调整光标位置进行读取。
       写:光标永远在文件最后位置,但是不管光标位置在哪一定是追加写(注意和r+区别)。写完光标在最后,读取文件需要seek进行调整。
       注:读和写情况时如果文件不存在会创建文件再操作。
    注意点:
       seek调整是按照字节移动的,seek()默认从最开始0位置,seek(1,1)1是当前位置,seek(-3,2)2是最后开始,如果向查看的会必须转化成字节模式,然后再decode成明文。
       read是按字符移动的。
       tell()  是显示当前光标位置。
       flush跟close作用一样,  是实时刷新操作,而close是程序操作完成后刷新操作。通过import time/time.sleep(10)可以查看效果区别。
    

      

  • 相关阅读:
    学习中的坑
    友链
    CF1131E String Multiplication 题解
    CF438E The Child and Binary Tree 题解
    [WC2005]友好的生物题解
    [IOI2016]shortcut 题解
    CF911F [Tree Destruction] 题解
    状压dp技巧之轮廓线 hdu1400/poj2411acwing291 蒙德里安的梦想
    TG-WC2021 笔记
    拯救世界2题解
  • 原文地址:https://www.cnblogs.com/mrpengfei/p/6682487.html
Copyright © 2020-2023  润新知