Python只有文件不存在才能写文件
当我们在Python里面写文件时,我们常用的模式为 w
模式,这种模式下,如果文件不存在,就会生成文件;如果文件已经存在,就会直接覆盖。
有时候,如果文件已经存在,直接覆盖文件可能会导致重要数据丢失。你不希望再覆盖文件,那么你可能会这样写代码:
import os if os.path.exists('/test/file.txt'): print('文件已经存在') else: with open('/test/file.txt', 'w', encoding='utf-8') as f: f.write('abc')
这样写虽然可以解决问题,但是Python 3提供了一个更好的解决办法。使用 x
模式。
于是代码可以简化为:
with open('/test/file.txt', 'x', encoding='utf-8') as f: f.write('abc')
当文件不存在的时候,这两行代码就能生成文件,并把内容写入到文件中。当文件已经存在的时候,就会直接抛出一个异常,如下图所示。
使用 x
模式,就可以有效防止文件被不小心覆盖的问题。如果要写二进制文件,那么可以把 x
改写为 xb
。不过需要注意,这种写法只有Python 3才能使用。Python 2是不能这样写的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
2019-01-16 form组件之modelForm
2019-01-16 关于form组件的补充-------formChoice
2019-01-16 stark组件之创建