• Python学习【day05】- Python文件处理


    一、打开文件

       对文件的操作主要为三步:1、打开文件,得到文件句柄。2、通过句柄对文件进行操作。3、关闭文件

    1 # 默认打开模式为r,encoding默认为系统文件编码
    2 f=open('F:/Go.txt','r',encoding='utf-8')
    3 data=f.read()
    4 f.close()
    5 
    6 #自动关闭文件,同时可以操作多个文件 Python换行需要在换行的最后加‘’
    7 with open('F:/Go.txt','r') as read_f, open('F:/GoGo.txt', 'w') as write_f:
    8     data=read_f.read()
    9     write_f.write(data)

    二、操作文件

     1 """
     2   打开一个文件并返回一个流.一旦失败报OSError错误
     3   mode是一个可选的字符串,它指定文件的打开模式,默认为‘r’,即文件以只读模式打开文件。其他常见的模式有‘w’、‘a’、‘x’.
     4   若文件为文本文件,如果没有指定编码,那么使用的编码是系统编码 通过调用locale.getpreferredencoding(False)来获取当前编码。
     5   若文件为字节文件 则不需要指定编码,
     6   可选择的模式有:
     7 ========= ===============================================================
     8 Character Meaning
     9 --------- ---------------------------------------------------------------
    10 'r'       以只读方式打开 (默认)
    11 'w'       以只写的方式打开, 从文件的第一个位置截断【即擦除原文件内容,重新写入】
    12 'x'       创建一个文件,并以只写的方式打开它
    13 'a'       以只写的方式打开文件, 如果它存在,则追加到当前文件的末尾
    14 'b'       二进制模式
    15 't'       文本模式 (默认)
    16 '+'       以读写方式打开一个磁盘文件
    17 'U'       通用换行模式 (弃用)
    18 ========= ===============================================================
    19 
    20   buffering是用来设置缓冲策略的可选整数.
    21   0转换缓冲(只允许在二进制模式下),1为行缓冲(只能在文本模式中使用),若为一个大于1的整数,则表示一个固定大小的缓冲区块,
    22   若没有设置缓冲参数时,在给定的情况下,默认的缓冲策略如下: 后续使用到再介绍
    23 """
    24 def open(file,mode='r',buffering=None,encoding=None,errors=None,newline=None,closefd=True):
    25     pass

        从open定义可知,mode默认即为‘r’,mode的模式可以有:r:只读模式 默认 文件必须存在 若不存在 则报错 w:只写模式 不可读 文件存在则清空文件重新写入 若不存在则创建文件 a:追加写模式 不可读 文件存在则追加 若不存在则创建文件rb:同r模式 只是文件内容为字节 wb:同w模式 只是文件内容为字节 ab:同a模式 只是文件内容为字节

    f=open('F:/Go.txt','r',encoding='utf-8')
    
    f.read() #读取所有内容 返回值为字符串
    f.readline() #读取一行内容 返回值为字符串
    f.readlines() #读取每一行内容 返回值为列表
    
    f.write('aaaaa
    bbbb
    ') #默认写入文件不换行
    f.writelines(['cccc
    ','dddd
    ']) #文件模式
    
    f.readable() #文件是否可读
    f.writable() #文件是否可写
    f.closed #文件是否关闭
    f.encoding #文件编码,字节文件没有编码
    f.flush() #立刻将文件内容从内存刷到硬盘
    f.name # 文件名

    欢迎志同道合朋友,加QQ群:119126035,QQ:1415583094,微信:cq1415583094
    我的GitHub:https://github.com/cq1415583094
    公众号欢迎关注

  • 相关阅读:
    将课程中的所有动手动脑的问题以及课后实验性的问题,整理成一篇文档,以博客形式发表在博客园
    将课程中的所有动手动脑的问题以及课后实验性的问题,整理成一篇文档
    课堂作业 异常与处理
    课堂作业05继承与多态
    课后作业04
    课堂作业03程序设计
    课堂作业03动手动脑问题
    课堂作业02程序设计作业
    课堂作业02动手动脑的问题
    课堂中所有的问题及其课后实验性的问题的文档
  • 原文地址:https://www.cnblogs.com/chuanqi1415583094/p/9651988.html
Copyright © 2020-2023  润新知