Python只有文件不存在才能写文件
Posted 阿布alone
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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是不能这样写的。
以上是关于Python只有文件不存在才能写文件的主要内容,如果未能解决你的问题,请参考以下文章