Python-文件

作者: 阿凡提说AI | 来源:发表于2024-09-08 00:07 被阅读0次

    在Python中,文件操作是基础且非常重要的功能之一。以下是关于Python中文件操作的一些基本知识:

    打开文件

    在Python中,使用open()函数来打开一个文件。这个函数返回一个文件对象,可以用来进行后续的读写操作。

    f = open('filename.txt', 'r')  # 打开文件用于读取
    

    open()函数常用的参数有:

    • file:文件路径。
    • mode:打开文件的模式,如 'r'(读取)、'w'(写入)、'a'(追加)、'b'(二进制模式)等。
    • encoding:文件的编码格式,默认是UTF-8。

    文件模式

    以下是常用的文件打开模式:

    • 'r':只读模式(默认)。
    • 'w':写入模式,如果文件存在则覆盖,不存在则创建。
    • 'x':独占创建模式,如果文件已存在则抛出异常。
    • 'a':追加模式,如果文件存在则在文件末尾追加内容,不存在则创建。
    • 'b':二进制模式。
    • 't':文本模式(默认)。
    • '+':打开文件用于更新(读取和写入)。
    • 'r+':文件可读写,如果文件不存在,会抛出异常;如果文件存在,会从当前位置开始写入新内容,通过seek函数可以改变当前的位置,也就是文本指针。
    • 'w+':文件可读写,如果文件不存在,会创建一个新文件;如果文件存在,会清空整个文件,并写入新内容。
    • 'a+':文件可读写,如果文件不存在,会创建一个新文件;如果文件存在,会将要写入的内容添加到原文件的最后,如果要使用read方法读取文件内容,调用seek(0)会直接将文件指针移到文件开始的位置。

    读写文件

    读取文件

    f = open('filename.txt', 'r')
    content = f.read()  # 读取所有内容
    print(content)
    f.close()  # 关闭文件
    

    也可以使用readline()来读取一行,或者readlines()来读取所有行到一个列表中。

    写入文件

    f = open('filename.txt', 'w')
    f.write('Hello, world!')  # 写入字符串
    f.close()
    

    关闭文件

    使用close()方法来关闭文件。这是一个好习惯,因为它会释放文件资源。也可以使用with语句来自动管理文件的打开和关闭。

    with open('filename.txt', 'r') as f:
        content = f.read()
        print(content)
    # 文件在with块结束时自动关闭
    

    其他文件方法

    • f.tell():返回文件当前位置。
    • f.seek(offset, whence=0):改变文件当前位置。
    • f.flush():刷新内部缓冲区,将数据立刻写入文件。
      文件操作是Python编程中非常常见的一部分,确保正确使用它们可以避免数据丢失和资源泄露。

    writelines 方法是文件对象的一个方法,用于将一个字符串列表写入文件中,每个列表元素作为文件中的一行。

    lines = ['First line\n', 'Second line\n', 'Third line\n']
    with open('filename.txt', 'w') as f:
        f.writelines(lines)
    

    并没有writeline方法,写一行文本需要直接使用write方法。

    with open('filename.txt', 'w') as f:
        f.write('This is a single line\n')
    

    fileinput模块中的input函数读取指定的文件。input方法返回一个FileInput对象,通过FileInput对象的相应方法可以对指定文件进行读取,FileInput对象使用的缓存机制,并不会一次性读取文件的素有内容,所以比readlines函数更节省内存资源。

    import fileinput
    
    for line in fileinput.input(['filename.txt']):
        print(line, end='')  # 默认情况下,line 包含换行符
    
    

    相关文章

      网友评论

        本文标题:Python-文件

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