文件操作

Posted 777

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件操作相关的知识,希望对你有一定的参考价值。

对文件操作:
  对文件操作就是对文件的句柄的操作,通过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)可以查看效果区别。

  

以上是关于文件操作的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode 如何操作用户自定义代码片段(快捷键)

代码片段 - Golang 实现集合操作

Apollo Codegen 没有找到生成代码的操作或片段

VSCode自定义代码片段——.vue文件的模板

操作栏标签片段中的片段?