美文网首页
6. Python 文件

6. Python 文件

作者: 柄志 | 来源:发表于2018-07-28 15:41 被阅读0次

    文件

    Python能够以文本和二进制两种方式处理

    文件概述

    • 文件是一个储存在辅助存储器上的数据序列,可以包含任何数据内容
    • 文件包括文本文件和二进制文件两种类型
    • 文本文件一般由单一特定编码的字符组成,可被看作是存储在磁盘上的长字符串
    • 二进制文件直接由比特0和比特1组成,由于没有统一字符编码,职能当做字节流
      无论是创建为文本文件还是二进制文件,都可以用“文本文件方式”和“二进制文件方式”打开,但打开后操作方式不同。
    • 采用文本方式读入文件,文件经过编码形成字符串,打印出有含义的字符
    • 采用二进制方式打开文件,文件被解析为字节流

    文件的打与关闭

    • Python通过解释器内置的open()函数打开一个文件,并实现该文件与一个程序变量的关联
    <变量名>=open(<文件名>,<打开模式>)
    
    • 文件名可以是文件的实际名字,也可以是包含完整路径的名字
    • 打开模式用于控制使用何种方式打开文件,open()提供7种基本的打开模式

    文件的打开模式

    文件的打开模式 含义
    ‘r’ 只读模式,如果文件不存在,返回异常FileNotFoundError,默认值
    ‘w’ 覆盖写模式,文件不存在则创建,存在则完全覆盖
    ‘x’ 创建写模式,文件不存在则创建,存在则返回异常FileExistsError
    ‘a’ 追加写模式,文件不存在则创建,存在则在文件最后追加内容
    ‘b’ 二进制文件模式
    ‘t’ 文本文件模式,默认值
    ‘+’ 与r/w/x/a一同使用,在原功能基础上增加同时读写功能
    • 打开模式使用字符串方式表示
    • 文件使用结束后要用close()方法关闭,释放文件的使用授权
    • 文件读写时可能产生IOError,使得后面的f.close()不被调用。为确保文件始终被关闭,可使用try ... finally实现,也可使用with语句实现
    try:
        f = open('/path/to/file', 'r')
        print(f.read())
    finally:
        if f:
            f.close()
            
    # with语句代码更简洁
    
    with open('/path/to/file', 'r') as f:
        print(f.read())
    

    文件的读写

    • 当文件以文本文件方式打开时,读写按照字符串方式,采用当前计算机使用的编码或指定编码

    • 当文件以二进制文件方式打开时,读写按照字节流方式

    文件内容读取方法

    操作方法 含义
    <file>.readall() 读入整个文件内容,返回一个字符串或字节流
    <file>.read(size=-1) 从文件中读入整个文件内容,如果给出参数,读入前size长度的字符串或字节流
    <file>.readline(size=-1) 从文件中读入一行内容,如果给出参数,读入该行前size长度的字符串或字节流
    <file>.readlines(hint=-1) 从文件中读入所有行,以没行为元素形成一个列表,如果给出参数,读入hint行

    备注:返回字符串或字节流取决于文件打开模式

    #逐行读入内容到内存有利于优化程序执行速度
    fname=input('请输入要打开的文本文件')
    fo=open(fname,'r')
    for line in fo:#处理一行数据
        print(line)
    fo.close
    

    文件内容写入方法

    方法 含义
    <file>.write(s) 向文件写入一个字符串或字节流
    <file>.writelines(lines) 将一个元素全为字符串的列表写入文件
    <file>.seek(offset) 改变当前文件操作指针的位置,offset的值:0——文件开头;1——当前位置;2——文件结尾

    相关文章

      网友评论

          本文标题:6. Python 文件

          本文链接:https://www.haomeiwen.com/subject/wvmyyftx.html