python文件操作

1、打开文件(使用open或是file函数)

  open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

  

  

  ps:使用w模式时要慎重,避免操作不当删除原有的数据

    r+模式时,首先进行文件的读操作,将文件指针移到文件末尾,再向文件中写入内容,新写入的内容直接追加到文件后面;如果直接进行文件的写操作,此时  文件指针在文件的开头,则新写入的内容会从文件开始替换原有的内容。

    open()读取出来的文件对象是可迭代的,使用for循环可以依次打印文件的每一行内容

2、关闭文件

  close():文件操作完毕后务必要关闭文件,python中可以不用关闭,因为python有自动垃圾回收机制。

3、文件读取

  read(size=-1):从文件读取size个字符,当未给定size或是给定负值的时候,读取剩余的字符,然后作为字符串返回。read()默认从上次读取的地方继续读取

  readline():每次读取一行,当超出范围时返回一个空字符串

  next():每次读取一行,当超出范围时给出警示StopIterator,不会无限制的取空字符串

4、文件写入

  write(str):将字符串str写入文件

  writelines(seq):想文件写入字符串序列seq,seq应该是一个返回字符串的可迭代对象

5、移动文件指针

  seek(offset,from):在文件中移动文件指针,从from(0代表文件起始位置,1代表当前位置,2代表文件末尾)开始偏移offset个字节

    

  tell():返回文件当前的位置

6、提交更新

  flush():在文件的写入时,一般写完后使用close()方法关闭文件,内容才能保存到文件中;但如果在写入文件的中间要求存储(如断点续存),则使用flush()方法。

7、文件操作实例

  

  代码实现:

  

  

  

  统计文件中一共出现了对少次某个字符串:

  import re
  #统计文件中hello的个数
  count = 0
  f = open("F:/test.txt")
  strList = f.readlines()
  for i in strList:
    a = re.findall(r"hello", i)
    if len(a): #匹配有hello字符串
      count += len(a)
  print("一共有%d个'hello'" % count)
  #文件操作完毕一定要关闭文件
  f.close()

8、文件操作中with的使用

  

  

 9、文件对象方法

    

  

原文地址:https://www.cnblogs.com/studyDetail/p/6440431.html