码迷,mamicode.com
首页 > 编程语言 > 详细

Python只有文件不存在才能写文件

时间:2020-01-17 00:12:54      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:生成文件   需要   encoding   else   import   enc   简化   模式   pat   

当我们在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是不能这样写的。

Python只有文件不存在才能写文件

标签:生成文件   需要   encoding   else   import   enc   简化   模式   pat   

原文地址:https://www.cnblogs.com/tjp40922/p/12203657.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!