news 2026/7/12 2:53:39

Python中with open:不关文件?等着被OSError暴揍吧

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python中with open:不关文件?等着被OSError暴揍吧

open() 函数

内置函数

使用来打开一个文件的open()函数, 会返回文件对象, 在对文件展开处理进程当中都得用到这个函数, 要是该文件没能成功被打开, 便会抛出。

留意, 运用 open() 函数时, 务必要确保将文件对象关闭, 也就是要调用 close() 函数。

open()函数, 其常用形式为, 接收两个参数, 第一个参数是文件名(file), 第二个参数是模式(mode)。

open(file, mode='r')

完整的语法格式为:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

参数说明:

mode 参数有:

模式描述

文本模式 (默认)。

写模式,新建一个文件,如果该文件已存在则会报错。

二进制模式。

打开一个文件进行更新(可读可写)。

通用换行模式(不推荐)。

打开文件是以只读方式进行, 文件的指针会被放置在文件的开头位置, 而这属于默认模式范畴。

rb

开启一个文件, 使其以二进制格式呈现, 用于只读操作, 文件指针会被放置于文件起始位置, 这属于默认模式, 此种模式通常用于像图片这样的非文本文件哟。

r+

打开一个文件用于读写。文件指针将会放在文件的开头。

rb+

打开一个文件, 使其以二进制格式用于读写, 文件指针会被放置在文件开头, 通常用于像图片这类非文本文件。

开启一个文件, 仅用于写入操作。要是该文件名已存在, 那么就打开这个文件, 并且自开头起始进行编辑, 也就是说原来的内容会全部被清除掉。倘若此文件不存在, 那就创建一个新的文件。

wb

以二进制的格式去打开一个能够用于写入的文件, 要是其中这个文件已经存在了, 那就把它打开, 并且是从开头的地方开始进行编辑, 这也就意味着原来存在的内容将会被删除掉, 要是这个文件并不存在, 那就创建一个新的文件, 这种情况一般是用于并非文本类型的文件, 像是图片这一类的。

w+

进行一项操作, 此操作是打开一个文件, 其目的是用于读写, 若这个文件已经存在, 那么就执行打开该文件的动作, 并且从文件的开头起始点开始进行编辑, 这意味着原来文件里所包含的内容将会被消除掉, 倘若这个文件并不存在, 那就开展创建新文件的行为。

wb+

以二进制的格式, 去打开一个文件, 以此用于读写操作。要是该文件已然存在的话, 那就打开这个文件, 并且从开头之处开始编辑, 也就是说, 原来存在的内容将会被删除掉。要是该文件并不存在, 那就创建一个新的文件。一般而言, 这是用于非文本文件, 像是图片之类的情况。

开启一个文件用于追加增添, 若是此文件已然存在, 那么文件指针会放置于文件的末尾之处, 換句话讲, 全新的内容将会被书写至已存在的内容紧接着的后面, 要是该文件尚不存在, 那就创建全新的文件来实施写入操作。

ab

用二进制的方式, 去把一个文件打开, 以此用于追加操作。倘若这个文件已然存在, 那么它的文件指针, 就会被放置在文件的结尾处。这也就意味着, 新的那些内容将会被写入到已经存在的内容的后面。要是这个文件并不存在, 那就去创建一个新的文件, 然后进行写入操作。

a+

把一个文件打开, 用来进行读和写。要是这个文件已经存在, 那文件指针就会被放置在文件的结尾处。这件事发生在文件以追加模式被打开的时候。要是这个文件不存在, 那就创建一个新的文件, 用来进行读写操作。

ab+

将一个文件以二进制格式打开, 目的是用于追加操作。要是该文件已经存在, 那么文件指针会放置在文件的末尾部分。若该文件并不存在, 那就创建新的文件, 用于进行读写操作。

默认为文本模式,如果要以二进制模式打开,加上 b 。

实例

测试文件 test.txt,内容如下:

RUNOOB1 RUNOOB2

内置函数WWw.BdX3.cN/pdds/28051.html
WWw.BdX3.cN/pdds/28052.html
WWw.BdX3.cN/pdds/28053.html
WWw.BdX3.cN/pdds/28054.html
WWw.BdX3.cN/pdds/28055.html
WWw.BdX3.cN/pdds/28056.html
WWw.BdX3.cN/pdds/28057.html
WWw.BdX3.cN/pdds/28058.html
WWw.BdX3.cN/pdds/28059.html
WWw.BdX3.cN/pdds/28060.html
WWw.BdX3.cN/pdds/28061.html
WWw.BdX3.cN/pdds/28062.html
WWw.BdX3.cN/pdds/28063.html
WWw.BdX3.cN/pdds/28064.html
WWw.BdX3.cN/pdds/28065.html
WWw.BdX3.cN/pdds/28066.html
WWw.BdX3.cN/pdds/28067.html
WWw.BdX3.cN/pdds/28068.html
WWw.BdX3.cN/pdds/28069.html
WWw.BdX3.cN/pdds/28070.html
WWw.BdX3.cN/pdds/28071.html
WWw.BdX3.cN/pdds/28072.html
WWw.BdX3.cN/pdds/28073.html
WWw.BdX3.cN/pdds/28074.html
WWw.BdX3.cN/pdds/28075.html
WWw.BdX3.cN/pdds/28076.html
WWw.BdX3.cN/pdds/28077.html
WWw.BdX3.cN/pdds/28078.html
WWw.BdX3.cN/pdds/28079.html
WWw.BdX3.cN/pdds/28080.html
WWw.BdX3.cN/pdds/28081.html
WWw.BdX3.cN/pdds/28082.html
WWw.BdX3.cN/pdds/28083.html
WWw.BdX3.cN/pdds/28084.html
WWw.BdX3.cN/pdds/28085.html
WWw.BdX3.cN/pdds/28086.html
WWw.BdX3.cN/pdds/28087.html
WWw.BdX3.cN/pdds/28088.html
WWw.BdX3.cN/pdds/28089.html
WWw.BdX3.cN/pdds/28090.html
WWw.BdX3.cN/pdds/28091.html
WWw.BdX3.cN/pdds/28092.html
WWw.BdX3.cN/pdds/28093.html
WWw.BdX3.cN/pdds/28094.html
WWw.BdX3.cN/pdds/28095.html
WWw.BdX3.cN/pdds/28096.html
WWw.BdX3.cN/pdds/28097.html
WWw.BdX3.cN/pdds/28098.html
WWw.BdX3.cN/pdds/28099.html
WWw.BdX3.cN/pdds/28100.html
WWw.BdX3.cN/pdds/28101.html
WWw.BdX3.cN/pdds/28102.html
WWw.BdX3.cN/pdds/28103.html
WWw.BdX3.cN/pdds/28104.html
WWw.BdX3.cN/pdds/28105.html
WWw.BdX3.cN/pdds/28106.html
WWw.BdX3.cN/pdds/28107.html
WWw.BdX3.cN/pdds/28108.html
WWw.BdX3.cN/pdds/28109.html
WWw.BdX3.cN/pdds/28110.html
WWw.BdX3.cN/pdds/28111.html
WWw.BdX3.cN/pdds/28112.html
WWw.BdX3.cN/pdds/28113.html
WWw.BdX3.cN/pdds/28114.html
WWw.BdX3.cN/pdds/28115.html
WWw.BdX3.cN/pdds/28116.html
WWw.BdX3.cN/pdds/28117.html
WWw.BdX3.cN/pdds/28118.html
WWw.BdX3.cN/pdds/28119.html
WWw.BdX3.cN/pdds/28120.html
WWw.BdX3.cN/pdds/28121.html
WWw.BdX3.cN/pdds/28122.html
WWw.BdX3.cN/pdds/28123.html
WWw.BdX3.cN/pdds/28124.html
WWw.BdX3.cN/pdds/28125.html
WWw.BdX3.cN/pdds/28126.html
WWw.BdX3.cN/pdds/28127.html
WWw.BdX3.cN/pdds/28128.html
WWw.BdX3.cN/pdds/28129.html
WWw.BdX3.cN/pdds/28130.html
WWw.BdX3.cN/pdds/28131.html
WWw.BdX3.cN/pdds/28132.html
WWw.BdX3.cN/pdds/28133.html
WWw.BdX3.cN/pdds/28134.html
WWw.BdX3.cN/pdds/28135.html
WWw.BdX3.cN/pdds/28136.html
WWw.BdX3.cN/pdds/28137.html
WWw.BdX3.cN/pdds/28138.html
WWw.BdX3.cN/pdds/28139.html
WWw.BdX3.cN/pdds/28140.html
WWw.BdX3.cN/pdds/28141.html
WWw.BdX3.cN/pdds/28142.html
WWw.BdX3.cN/pdds/28143.html
WWw.BdX3.cN/pdds/28144.html
WWw.BdX3.cN/pdds/28145.html
WWw.BdX3.cN/pdds/28146.html
WWw.BdX3.cN/pdds/28147.html
WWw.BdX3.cN/pdds/28148.html
WWw.BdX3.cN/pdds/28149.html
WWw.BdX3.cN/pdds/28150.html
WWw.BdX3.cN/pdds/28151.html
WWw.BdX3.cN/pdds/28152.html
WWw.BdX3.cN/pdds/28153.html
WWw.BdX3.cN/pdds/28154.html
WWw.BdX3.cN/pdds/28155.html
WWw.BdX3.cN/pdds/28156.html
WWw.BdX3.cN/pdds/28157.html
WWw.BdX3.cN/pdds/28158.html
WWw.BdX3.cN/pdds/28159.html
WWw.BdX3.cN/pdds/28160.html
WWw.BdX3.cN/pdds/28161.html
WWw.BdX3.cN/pdds/28162.html
WWw.BdX3.cN/pdds/28163.html
WWw.BdX3.cN/pdds/28164.html
WWw.BdX3.cN/pdds/28165.html
WWw.BdX3.cN/pdds/28166.html
WWw.BdX3.cN/pdds/28167.html
WWw.BdX3.cN/pdds/28168.html
WWw.BdX3.cN/pdds/28169.html
WWw.BdX3.cN/pdds/28170.html
WWw.BdX3.cN/pdds/28171.html
WWw.BdX3.cN/pdds/28172.html
WWw.BdX3.cN/pdds/28173.html
WWw.BdX3.cN/pdds/28174.html
WWw.BdX3.cN/pdds/28175.html
WWw.BdX3.cN/pdds/28176.html
WWw.BdX3.cN/pdds/28177.html
WWw.BdX3.cN/pdds/28178.html
WWw.BdX3.cN/pdds/28179.html
WWw.BdX3.cN/pdds/28180.html
WWw.BdX3.cN/pdds/28181.html
WWw.BdX3.cN/pdds/28182.html
WWw.BdX3.cN/pdds/28183.html
WWw.BdX3.cN/pdds/28184.html
WWw.BdX3.cN/pdds/28185.html
WWw.BdX3.cN/pdds/28186.html
WWw.BdX3.cN/pdds/28187.html
WWw.BdX3.cN/pdds/28188.html
WWw.BdX3.cN/pdds/28189.html
WWw.BdX3.cN/pdds/28190.html
WWw.BdX3.cN/pdds/28191.html
WWw.BdX3.cN/pdds/28192.html
WWw.BdX3.cN/pdds/28193.html
WWw.BdX3.cN/pdds/28194.html
WWw.BdX3.cN/pdds/28195.html
WWw.BdX3.cN/pdds/28196.html
WWw.BdX3.cN/pdds/28197.html
WWw.BdX3.cN/pdds/28198.html
WWw.BdX3.cN/pdds/28199.html
WWw.BdX3.cN/pdds/28200.html
WWw.BdX3.cN/pdds/28201.html
WWw.BdX3.cN/pdds/28202.html
WWw.BdX3.cN/pdds/28203.html
WWw.BdX3.cN/pdds/28204.html
WWw.BdX3.cN/pdds/28205.html
WWw.BdX3.cN/pdds/28206.html
WWw.BdX3.cN/pdds/28207.html
WWw.BdX3.cN/pdds/28208.html
WWw.BdX3.cN/pdds/28209.html
WWw.BdX3.cN/pdds/28210.html
WWw.BdX3.cN/pdds/28211.html
WWw.BdX3.cN/pdds/28212.html
WWw.BdX3.cN/pdds/28213.html
WWw.BdX3.cN/pdds/28214.html
WWw.BdX3.cN/pdds/28215.html
WWw.BdX3.cN/pdds/28216.html
WWw.BdX3.cN/pdds/28217.html
WWw.BdX3.cN/pdds/28218.html
WWw.BdX3.cN/pdds/28219.html
WWw.BdX3.cN/pdds/28220.html
WWw.BdX3.cN/pdds/28221.html
WWw.BdX3.cN/pdds/28222.html
WWw.BdX3.cN/pdds/28223.html
WWw.BdX3.cN/pdds/28224.html
WWw.BdX3.cN/pdds/28225.html
WWw.BdX3.cN/pdds/28226.html
WWw.BdX3.cN/pdds/28227.html
WWw.BdX3.cN/pdds/28228.html
WWw.BdX3.cN/pdds/28229.html
WWw.BdX3.cN/pdds/28230.html
WWw.BdX3.cN/pdds/28231.html
WWw.BdX3.cN/pdds/28232.html
WWw.BdX3.cN/pdds/28233.html
WWw.BdX3.cN/pdds/28234.html
WWw.BdX3.cN/pdds/28235.html
WWw.BdX3.cN/pdds/28236.html
WWw.BdX3.cN/pdds/28237.html
WWw.BdX3.cN/pdds/28238.html
WWw.BdX3.cN/pdds/28239.html
WWw.BdX3.cN/pdds/28240.html
WWw.BdX3.cN/pdds/28241.html
WWw.BdX3.cN/pdds/28242.html
WWw.BdX3.cN/pdds/28243.html
WWw.BdX3.cN/pdds/28244.html
WWw.BdX3.cN/pdds/28245.html
WWw.BdX3.cN/pdds/28246.html
WWw.BdX3.cN/pdds/28247.html
WWw.BdX3.cN/pdds/28248.html
WWw.BdX3.cN/pdds/28249.html
WWw.BdX3.cN/pdds/28250.html
WWw.BdX3.cN/pdds/28251.html
WWw.BdX3.cN/pdds/28252.html
WWw.BdX3.cN/pdds/28253.html
WWw.BdX3.cN/pdds/28254.html
WWw.BdX3.cN/pdds/28255.html
WWw.BdX3.cN/pdds/28256.html
WWw.BdX3.cN/pdds/28257.html
WWw.BdX3.cN/pdds/28258.html
WWw.BdX3.cN/pdds/28259.html
WWw.BdX3.cN/pdds/28260.html
WWw.BdX3.cN/pdds/28261.html
WWw.BdX3.cN/pdds/28262.html
WWw.BdX3.cN/pdds/28263.html
WWw.BdX3.cN/pdds/28264.html
WWw.BdX3.cN/pdds/28265.html
WWw.BdX3.cN/pdds/28266.html
WWw.BdX3.cN/pdds/28267.html
WWw.BdX3.cN/pdds/28268.html
WWw.BdX3.cN/pdds/28269.html
WWw.BdX3.cN/pdds/28270.html
WWw.BdX3.cN/pdds/28271.html
WWw.BdX3.cN/pdds/28272.html
WWw.BdX3.cN/pdds/28273.html
WWw.BdX3.cN/pdds/28274.html
WWw.BdX3.cN/pdds/28275.html
WWw.BdX3.cN/pdds/28276.html
WWw.BdX3.cN/pdds/28277.html
WWw.BdX3.cN/pdds/28278.html
WWw.BdX3.cN/pdds/28279.html
WWw.BdX3.cN/pdds/28280.html
WWw.BdX3.cN/pdds/28281.html
WWw.BdX3.cN/pdds/28282.html
WWw.BdX3.cN/pdds/28283.html
WWw.BdX3.cN/pdds/28284.html
WWw.BdX3.cN/pdds/28285.html
WWw.BdX3.cN/pdds/28286.html
WWw.BdX3.cN/pdds/28287.html
WWw.BdX3.cN/pdds/28288.html
WWw.BdX3.cN/pdds/28289.html
WWw.BdX3.cN/pdds/28290.html
WWw.BdX3.cN/pdds/28291.html
WWw.BdX3.cN/pdds/28292.html
WWw.BdX3.cN/pdds/28293.html
WWw.BdX3.cN/pdds/28294.html
WWw.BdX3.cN/pdds/28295.html
WWw.BdX3.cN/pdds/28296.html
WWw.BdX3.cN/pdds/28297.html
WWw.BdX3.cN/pdds/28298.html
WWw.BdX3.cN/pdds/28299.html
WWw.BdX3.cN/pdds/28300.html
WWw.BdX3.cN/pdds/28301.html
WWw.BdX3.cN/pdds/28302.html
WWw.BdX3.cN/pdds/28303.html
WWw.BdX3.cN/pdds/28304.html
WWw.BdX3.cN/pdds/28305.html
WWw.BdX3.cN/pdds/28306.html
WWw.BdX3.cN/pdds/28307.html
WWw.BdX3.cN/pdds/28308.html
WWw.BdX3.cN/pdds/28309.html
WWw.BdX3.cN/pdds/28310.html
WWw.BdX3.cN/pdds/28311.html
WWw.BdX3.cN/pdds/28312.html
WWw.BdX3.cN/pdds/28313.html
WWw.BdX3.cN/pdds/28314.html
WWw.BdX3.cN/pdds/28315.html
WWw.BdX3.cN/pdds/28316.html
WWw.BdX3.cN/pdds/28317.html
WWw.BdX3.cN/pdds/28318.html
WWw.BdX3.cN/pdds/28319.html
WWw.BdX3.cN/pdds/28320.html
WWw.BdX3.cN/pdds/28321.html
WWw.BdX3.cN/pdds/28322.html
WWw.BdX3.cN/pdds/28323.html
WWw.BdX3.cN/pdds/28324.html
WWw.BdX3.cN/pdds/28325.html
WWw.BdX3.cN/pdds/28326.html
WWw.BdX3.cN/pdds/28327.html
WWw.BdX3.cN/pdds/28328.html
WWw.BdX3.cN/pdds/28329.html
WWw.BdX3.cN/pdds/28330.html
WWw.BdX3.cN/pdds/28331.html
WWw.BdX3.cN/pdds/28332.html
WWw.BdX3.cN/pdds/28333.html
WWw.BdX3.cN/pdds/28334.html
WWw.BdX3.cN/pdds/28335.html
WWw.BdX3.cN/pdds/28336.html
WWw.BdX3.cN/pdds/28337.html
WWw.BdX3.cN/pdds/28338.html
WWw.BdX3.cN/pdds/28339.html
WWw.BdX3.cN/pdds/28340.html
WWw.BdX3.cN/pdds/28341.html
WWw.BdX3.cN/pdds/28342.html
WWw.BdX3.cN/pdds/28343.html
WWw.BdX3.cN/pdds/28344.html
WWw.BdX3.cN/pdds/28345.html
WWw.BdX3.cN/pdds/28346.html
WWw.BdX3.cN/pdds/28347.html
WWw.BdX3.cN/pdds/28348.html
WWw.BdX3.cN/pdds/28349.html
WWw.BdX3.cN/pdds/28350.html
WWw.BdX3.cN/pdds/28351.html
WWw.BdX3.cN/pdds/28352.html
WWw.BdX3.cN/pdds/28353.html
WWw.BdX3.cN/pdds/28354.html
WWw.BdX3.cN/pdds/28355.html
WWw.BdX3.cN/pdds/28356.html
WWw.BdX3.cN/pdds/28357.html
WWw.BdX3.cN/pdds/28358.html
WWw.BdX3.cN/pdds/28359.html
WWw.BdX3.cN/pdds/28360.html
WWw.BdX3.cN/pdds/28361.html
WWw.BdX3.cN/pdds/28362.html
WWw.BdX3.cN/pdds/28363.html
WWw.BdX3.cN/pdds/28364.html
WWw.BdX3.cN/pdds/28365.html
WWw.BdX3.cN/pdds/28366.html
WWw.BdX3.cN/pdds/28367.html
WWw.BdX3.cN/pdds/28368.html
WWw.BdX3.cN/pdds/28369.html
WWw.BdX3.cN/pdds/28370.html
WWw.BdX3.cN/pdds/28371.html
WWw.BdX3.cN/pdds/28372.html

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/12 2:53:21

ADB 无线调试实战:5步配置局域网自动化测试,告别USB线缆束缚

ADB无线调试实战:5步配置局域网自动化测试,告别USB线缆束缚当测试工程师需要在多台Android设备上并行执行自动化测试时,USB线缆的物理限制往往成为效率瓶颈。本文将深入讲解如何通过ADB无线调试技术,实现局域网环境下的设备集群管…

作者头像 李华
网站建设 2026/7/12 2:52:38

CTF Web 入门:从[HCTF 2018]WarmUp看PHP白名单绕过2种核心技巧

CTF Web 入门:从[HCTF 2018]WarmUp看PHP白名单绕过的2种核心技巧 在CTF Web安全竞赛中,PHP代码审计是常见的挑战类型。本文将以经典题目[HCTF 2018]WarmUp为例,深入剖析两种关键的PHP白名单绕过技巧,帮助初学者建立系统化的解题思…

作者头像 李华
网站建设 2026/7/12 2:52:28

Hadoop YARN 3.3.6 资源调度器对比:FIFO、容量与公平调度器 3 大场景实测

Hadoop YARN 3.3.6 资源调度器深度实战:FIFO、容量与公平调度器的性能对决与选型指南在大规模数据处理场景中,资源调度效率直接决定了集群的整体吞吐量和任务响应时间。作为Hadoop生态系统的核心资源管理平台,YARN 3.3.6版本对三种主流调度器…

作者头像 李华
网站建设 2026/7/12 2:50:48

Word 交叉引用 vs 尾注:2种参考文献方案对比与5个实操要点

Word参考文献管理终极指南:交叉引用与尾注深度对比学术写作中,参考文献管理是每个研究者必须掌握的技能。面对Word提供的多种解决方案,如何选择最适合自己工作流程的方法?本文将深入剖析两种主流技术方案——交叉引用与尾注&#…

作者头像 李华
网站建设 2026/7/12 2:50:30

VS Code 1.90 系统级安装配置:3步解决多用户共享与右键菜单集成

VS Code 1.90 系统级安装配置:3步解决多用户共享与右键菜单集成 在企业级开发环境中,如何让VS Code成为团队协作的高效工具?System Installer版本正是为多用户环境设计的专业解决方案。与常见的User Installer不同,系统级安装能实…

作者头像 李华
网站建设 2026/7/12 2:50:10

AD原理图库与PCB库关联指南:解决Footprint Not Found的5种方法

AD原理图库与PCB库关联指南:解决Footprint Not Found的5种方法当你在Altium Designer中完成原理图设计,准备将设计导入PCB时,最令人沮丧的莫过于遇到"Footprint Not Found"错误。这个看似简单的提示背后,往往隐藏着复杂…

作者头像 李华