• Python进阶10 文件


    一、打开关闭文件

    1、打开文件

    函数open用于打开文件,文件名是必不可少的参数,并返回一个文件对象。

    file object = open(file_name, access_mode, buffering])
    
    file_name: 文件名(或路径),强制参数,其他参数是可选的。
    access_mode: 打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。
    buffering: 表示是否需要缓冲,为可选参数,默认值为-1,表示使用系统默认的缓冲区大小。(0代表不缓冲,>=1的值表示缓冲一行或指定缓冲区大小)。

    不同模式打开文件的完全列表:

    模式描述
    t 文本模式 (默认,与其他模式结合使用)
    x 独占写入模式
    b 二进制模式(与其他模式结合使用)
    + 读写模式(与其他模式结合使用)
    r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
    w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
    a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

    一个文件被打开后,你有一个file对象,你可以得到有关该文件的各种信息。

    以下是和file对象相关的所有属性的列表:

    属性描述
    file.closed 返回true如果文件已被关闭,否则返回false。
    file.mode 返回被打开文件的访问模式。
    file.name 返回文件的名称。

    2、关闭文件

    File 对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。

    当一个文件对象的引用被重新指定给另一个文件时,Python 会关闭之前的文件。用 close()方法关闭文件是一个很好的习惯。

    语法:

    fileObject.close()
    # 打开一个文件
    f = open("test.txt", "w")
    print("文件名: ", f.name)
     
    # 关闭打开的文件
    f.close()

    二、读文件

    1、read()方法

    read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。

    fileObject.read([size])

    如果没有传入size,它会一次性读取文件的全部内容,保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。

    while True:
        char = f.read(4)
        print(char)
        if not char:
            break

    2、按行读取

    readline()方法每次读取一行(从当前位置到下一个换行符的文本)。

    readlines()方法一次读取所有内容并按行返回list。

    如果文件很小,read()一次性读取最方便;如果不能确定文件大小,反复调用read(size)比较保险;如果是配置文件,调用readlines()最方便:

    for line in f.readlines():
        print(line.strip()) # 把末尾的'
    '删掉

    3、文件迭代器

    文件实际上是可迭代的,这意味着可在for循环中直接迭代行。

    # 打开一个文件
    f = open("test.txt")
    
    for line in f:
        print(line)
    
    # 关闭打开的文件
    f.close()

    三、写文件

    1、write()方法

    可以直接调用f.write(string)方法写入文件内容。

    2、多行写入

    方法writelines与readlines相反:接受一个字符串列表(实际上,可以是任何序列或可迭代对象),并将这些字符串都写入到文件中。

    四、使用上下文管理器

    Python提供了 with 语句来管理资源关闭。比如可以把打开的文件放在 with 语句中,这样 with 语句就会帮我们自动关闭文件。

    with open('somefile.txt') as somefile:
        do_something(somefile)

    with语句让你能够打开文件并将其赋给一个变量(这里是somefile)。在语句体中,你可以读写文件。到达该语句末尾时,将自动关闭文件,即使出现异常亦如此。

    with语句实际上是一个非常通用的结构,允许你使用上下文管理器。

    关于上下文管理器,可以参考下面这边文章,感觉写的简洁又清晰:

    https://www.cnblogs.com/wongbingming/p/10519553.html

  • 相关阅读:
    winform利用itextsharp.dll实现图片文件转换PDF格式文件
    winform 实现选择文件和选择文件夹对话框
    ASP利用xhEditor编辑器实现图片上传的功能。
    winform c#中子窗体关闭刷新父窗体
    ASP.NET js控制treeview中的checkbox实现单选功能
    js如何获取asp.net服务器端控件的值(label,textbox,dropdownlist,radiobuttonlist等)
    ASP.NET C# 登陆窗体 限制用户名只输入字母 数字以及下划线
    GridView通过RowDataBound事件获取字段值、数据源列值
    Window.Open()方法详细的参数说明及技巧。
    获取GridView中RowCommand的当前索引行(转)
  • 原文地址:https://www.cnblogs.com/mazhiyong/p/12574802.html
Copyright © 2020-2023  润新知