You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用一行代码实现Python文件的读取与关闭?

解决Python一行读取文件并自动关闭的问题

你遇到的这个资源警告很常见——虽然Python的垃圾回收机制确实会在文件对象被销毁时关闭它,但这个时机并不确定,而unittest这类测试框架会严格检查未释放的资源,所以就会抛出警告。

要在一行代码里实现安全读取+自动关闭,最靠谱的方式是利用with上下文管理器(它会在代码块结束时立即关闭文件,不管有没有异常),把整个逻辑压缩成一行:

with open(file) as f: lines = [line.rstrip('\n') for line in f]

如果觉得列表推导式有点繁琐,还可以用splitlines()方法简化,它会自动帮你去掉每行末尾的换行符,代码更简洁:

with open(file) as f: lines = f.read().splitlines()

顺便提一句,有些同学可能会写lines = open(file).read().splitlines()这种一行代码,但这种写法本质上还是依赖垃圾回收来关闭文件,测试时依然可能触发资源警告,所以还是优先用带with的写法更稳妥。

内容的提问来源于stack exchange,提问作者nullpointr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:57:36