python 文件不存在时才能写入,读写模式xt

mac2024-05-30  39

想向一个文件中写入数据,但是前提必须是这个文件在文件系统上不存在。也就是不允许覆盖已存在的文件内容。

可以在open() 函数中使用x 模式来代替w 模式的方法来解决这个问题。比如:

''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' >>> with open('somefile', 'wt') as f: ... f.write('Hello\n') ... >>> with open('somefile', 'xt') as f: ... f.write('Hello\n') ... Traceback (most recent call last): File "<stdin>", line 1, in <module> FileExistsError: [Errno 17] File exists: 'somefile' >>>

先测试这个文件是否存在

''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' >>> import os >>> if not os.path.exists('somefile'): ... with open('somefile', 'wt') as f: ... f.write('Hello\n') ... else: ... print('File already exists!') ... File already exists! >>>

显而易见,使用x 文件模式更加简单。要注意的是x 模式是一个Python3 对open() 函数特有的扩展。在Python 的旧版本或者是Python 实现的底层C 函数库中都是没有这个模式的。

最新回复(0)