码迷,mamicode.com
首页 > 其他好文 > 详细

文件操作

时间:2017-04-08 18:11:34      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:imp   光标位置   注意   decode   bsp   转化   效果   字符   需要   

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

  

文件操作

标签:imp   光标位置   注意   decode   bsp   转化   效果   字符   需要   

原文地址:http://www.cnblogs.com/mrpengfei/p/6682487.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!