Python 中的文件处理

Python 中的文件处理

从文件读取数据或向文件写入数据是任何编程语言支持的基本操作之一。Python为处理文件操作提供了广泛的支持,这些操作大多在其标准库中可用。在本节中,我们将讨论核心文件操作,如打开文件、关闭文件、从文件读取、写入文件、使用上下文管理器进行文件管理,以及使用Python标准库用一个句柄打开多个文件。

文件操作

文件操作通常从打开文件开始,然后读取或更新该文件中的内容。核心文件操作如下:

打开和关闭文件

要对文件进行读取或更新操作,我们需要一个指向文件的指针或引用。文件引用可以通过使用内置 open 函数打开文件来获得。该函数返回对文件对象的引用,在某些文献中也称为文件句柄。使用 open 函数的最低要求是提供带有绝对路径或相对路径的文件名。一个可选参数是访问模式,用于指示以哪种模式打开文件。访问模式可以是读取、写入、追加或其他。访问模式选项的完整列表如下:

  • r:该选项用于以只读模式打开文件。如果没有提供访问模式选项时,该选项为默认选项:
    f = open('abc.txt')
    #和下面的打开方式是等价的
    f = open('abc.txt', 'r')
    
  • t:该选项用于用文本模式打开文件,这是默认的打开方式;
    f = open('abc.txt')
    f = open('abc.txt', 'r')
    # 上面两种打开方式,等价于下面的打开方式:
    f = open('abc.txt', 'rt')
    
  • b:该选项用于用二进制方式打开文件;

注意: 打开文件的文本模式和二进制模式的概念来自于C语言,这里已罗列的和将要罗列的读、写和添加等打开模式,也是来自于C语言。文本模式和二进制模式在LinuxMac上没有区别。在Windows上的区别是,在写文件时,文本模式要把"\n"转换为\r\n;在读文件时,把"\r\n"转换为\n。此外,有的C语言运行库,还会有字符编码转换功能,比如微软的C运行库就有这样的功能。

  • a: 该选项用于打开文件,在文件末尾添加内容:

     f = open('abc.txt', 'a')
    
  • w:该选项用于打开文件以进行写入。如果文件不存在,它会创建一个新文件。一个新文件。如果文件存在,该选项将覆盖文件,文件中的任何现有内容都将被销毁。该文件中的任何内容都将被销毁:

    f = open('abc.txt', 'w')
    
  • x:该选项用于打开一个文件进行独占写入。如果文件已经存在、 则会出错:

    f = open('abc.txt', 'x')
    
  • +:该选项用于打开文件进行读和写,要和 rw 配合使用,w+w+b 会在读写前把文件内容销毁,r+r+b 不会销毁文件内容:

    f = open('abc.txt', 'r+')
    f = open('abc.txt', 'w+')
    

如果是用文本模式打开文件,还可以在打开文件时指明文件中字符的编码。如果不指明,这个编码则依赖于当前的系统的当前编码;如果是用二进制模式打开文件,则不能指明编码。下面是把文件中字符当成utf-8编码打开文件读和写:

f = open('abc.txt', mode = 'r', encoding = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dowhileprogramming

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值