文件读写

转自白月黑羽Python3教程文件读写python

咱们开发程序,常常须要从文本文件中读入信息,好比从日志文件中读取日志,从而分析数据信息;函数

也常常须要写入文本信息到文件中,好比写入操做信息到日志文件中。编码

在python语言中,咱们要读写文本文件, 首先经过内置函数open 打开一个文件。日志

open函数会返回一个对象,咱们能够称之为文件对象。code

这个返回的文件对象就包含读取文本内容和写入文本内容的方法。对象

前面的课程咱们刚刚学过,要写入字符串到文件中,须要先将字符串编码为字节串blog

而从文本文件中读取的文本信息都是字节串,要进行处理以前,必须先将字节串解码为字符串教程

文本文件读写

open函数的参数

要读写文件,首先要经过内置函数open 打开文件,得到文件对象。ip

函数open的参数以下开发

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

  

其中下面这3个参数是咱们经常使用的。

  • 参数 file

    file参数指定了要打开文件的路径。

    能够是相对路径,好比 ‘log.txt’, 就是指当前工做目录下面的log.txt 文件 也能够是绝对路径,好比 ‘d:\project\log\log.txt’,

 

  • 参数 mode

    mode参数指定了文件打开的 模式 ,打开文件的模式 决定了能够怎样操做文件。

    经常使用的打开模式有

    • r 只读文本模式打开,这是最经常使用的一种模式

    • w 只写文本模式打开

    • a 追加文本模式打开

    若是咱们要 读取文本文件内容到字符串对象中 , 就应该使用 r 模式。

    咱们能够发现mode参数的缺省值 就是 ‘r’ 。

    就是说,调用open函数时,若是没有指定参数mode的值,那么该参数就使用缺省值 ‘r’,表示只读打开。

    若是咱们要 建立一个新文件写入内容,或者清空某个文本文件从新写入内容, 就应该使用 ‘w’ 模式。

    若是咱们要 从某个文件末尾添加内容, 就应该使用 ‘a’ 模式。

 

  • 参数 encoding

    encoding 参数指定了读写文本文件时,使用的 字符编解码 方式。

    调用open函数时,若是传入了encoding参数值:

    后面调用write写入字符串到文件中,open函数会使用指定encoding编码为字节串;
        
      后面调用read从文件中读取内容,open函数会使用指定encoding解码为字符串对象

    若是调用的时候没有传入encoding参数值,open函数会使用系统缺省字符编码方式。 好比在中文的Windows系统上,就是使用cp936(就是gbk编码)。

    建议你们编写代码 读写文本文件时,都指定该参数的值。

相关文章
相关标签/搜索