如果您不知道文件是否存在又不清除旧文件(如果有的话),您如何编辑该文件?

How do you edit a file if you don't know if it exists yet without wiping the old one if there was one?

我正在尝试创建一个文件并向其中写入内容,但前提是该文件不存在。使用我的代码,如果文件已经存在,它会擦除​​它然后写入它。

我想在不清除旧信息的情况下写入它,但前提是它以前存在。

这是我尝试的代码:

def save_score():
    file = open('high_scores.txt', 'w+')
    file.write('name: '+name+', score: '+str(score)+'\n')
    file.close()
    file = open('high_scores.txt', 'r')
    for line in file:
        print(line)
    file.close()
    exit(0)

name = input('enter name ')
score = input('enter score ')
save_score()

您可以使用 "exists" 方法....请参阅 https://linuxize.com/post/python-check-if-file-exists/

open(“filename”, “mode”)支持以下模式:

  • ‘r’ – 只读文件时使用的读取模式
  • ‘w’ – 写入模式,用于编辑和写入新信息 文件(任何现有的同名文件都将被删除 此模式已激活)
  • ‘a’ – Appending mode,用于在末尾添加新数据 文件;即新信息自动修改到最后
  • ‘r+’ – 特殊读写模式,用于同时处理 使用文件时的操作

根据需要使用它们

使用os模块的另一种方式。

import os
if os.path.isfile ('high_scores.txt'):
    print('The file exists')
else:
    print('The file does not exist')```