• 文件读写


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

    我们开发程序,经常需要从文本文件中读入信息,比如从日志文件中读取日志,从而分析数据信息;

    也经常需要写入文本信息到文件中,比如写入操作信息到日志文件中。

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

    open函数会返回一个对象,我们可以称之为文件对象。

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

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

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

    文本文件读写

    open函数的参数

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

    函数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:projectloglog.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编码)。

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

  • 相关阅读:
    TP框架基础
    PHP文件上传
    layui-简单的登录注册界面
    layui-注册界面
    JavaScript原生Ajax请求纯文本数据
    ajax异步请求数据
    PHP数据库连接
    PHP页面跳转以及伪登录实例
    OVER 分析函数
    Ubuntu 16 vi输入方向键会变成ABCD的解决方法
  • 原文地址:https://www.cnblogs.com/allenblogs/p/10280892.html
Copyright © 2020-2023  润新知