首页 > 解决方案 > 尽管使用“追加”模式,为什么我不能写入文件?

问题描述

我正在尝试使用仅包含用户名的 Python 创建一个基本的登录系统。这是我遇到的问题的一个片段。

我在 .txt 文件中添加了一些用户名,它可以找到冲突或正确登录,但实际上无法注册用户名。我做了一些研究,并以“追加”模式打开文件并使用write命令。

def register():
   file1 = open("C:/test/User_Dat.txt", "a")
   global username
   username = str(input("Please enter a username \n")).lower()
   readfile = file1.read()
   if username in readfile: 
        print('The user', username, 'has already been created.')
        welcome()
   else: 
        print('The user', username, 'has been created!')
        file1.write(username)
        file1.write("\n")
        file1.close()
        login()

但我仍然收到这样的错误:

io.UnsupportedOperation:不可写

为什么文件不可写?

标签: pythonfile

解决方案


编辑:

您正在阅读模式下打开文件。按如下方式修复此行:

file1 = open("C:/test/User_Dat.txt", "r+")

文档: https ://docs.python.org/3/library/functions.html#open


推荐阅读