Python 文件和操作文件方法

Posted

tags:

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

文件

■  基本的文件用法

  f = open("path","mode")  mode有a,w,r,b,+等。默认为r。模式与打开文件时的动作有关系,比如用w打开的话肯定会清空文件再写,而a的话打开时就不会清空文件而是直接append内容

  f.read()/write(...)

  f.close()

  在很多示例中,打开文件用的都是这样一种方法:

  with open("path","mode") as f:
    f.操作

  不用再手动关闭文件什么的,这个涉及到with这个上下文管理语句,现在还不是很懂,等以后有机会再来研究一下。

■  读的方法

  f.read(...)  读...个字符,无参数则读取整个文件

  f.readline()  读取一行,如果有参数就是读取这行的前n个字符,每行包括换行符在内!

  f.readlines()  读取一个由行组成的列表,每行也都有换行符

  *因为程序是以流的形式读取文件的,所以在readline,read这种一点一点读取的方法里,读取完一部分后再读取就自动接续到下一部分了。

■  写的方法

  f.write(...)

  f.writelines([..,..,..])  与readlines相反,用write将一个列表写进文件,注意的是writelines不会再每个元素后面自动加上换行回车,所以要手动地加上\n

 

■  三个特别的类文件对象

  stdin, stdout, stderr是sys的三个类文件对象,所谓类文件,就是说它们可以像一个文件一样去read和write,比如:

  sys.stdin.readlines()

  sys.stdout.write(...)

  sys.stderr.write(...)

 

■  对文件内容的遍历 

  ●  按字节处理

    用read(1)对字符做一个遍历,循环的条件可以是while char != ""来判断是不是把文件读完了

  ●  按行处理

    用readline()对行做遍历,循环的条件可以是while line != ""。

    需要注意的是readline每次只读一行,肯定效率比readlines要低一点,但是碰到很大的文件,没办法用readlines一次性读进内存的话,可以考虑用readline来遍历

  ●  更简便的写法

    python中的文件是个可迭代的对象。这意味着我们也可以这么写:

    for line in test_file:

      process(line)

    也就是说如果默认按照行来处理的话,甚至都可以不用写open来打开语句


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

python文件和目录操作方法大全(含实例)

python文件和目录操作方法大全

python文件和目录操作方法大全

python文件和目录操作方法大全(含实例)

python文件和目录操作方法大全(含实例)

python文件和目录操作方法大全(含更改文件夹下所有文件名称的实例)