Python-运行时将数据写入文件时出现问题

Python-运行时将数据写入文件时出现问题,python,data-storage,Python,Data Storage,我对Python和创建GUI注册系统相当陌生,这是我作为项目的一部分创建的一个小测验。将playername+的数据作为小字符串存储到文本文档时,我遇到了一些问题,以下是我不确定的问题,以及我无法解决的问题: 记事本文档是以已注册用户的名义创建的,但不包含需要输入的数据,文档保留为空 尽管在写入文件时包含if和else语句,但仍会显示一个错误窗口,该窗口应仅在文本文件已存在时显示 谢谢你的帮助,我真的很感激,祝你有一个美好的一天! -堵塞 守则: __author__ = 'Jamie'

我对Python和创建GUI注册系统相当陌生,这是我作为项目的一部分创建的一个小测验。将playername+的数据作为小字符串存储到文本文档时,我遇到了一些问题,以下是我不确定的问题,以及我无法解决的问题:

  • 记事本文档是以已注册用户的名义创建的,但不包含需要输入的数据,文档保留为空
  • 尽管在写入文件时包含if和else语句,但仍会显示一个错误窗口,该窗口应仅在文本文件已存在时显示
谢谢你的帮助,我真的很感激,祝你有一个美好的一天! -堵塞


守则:

__author__ = 'Jamie'

# Imports all from Tkinter and imports os.path
from tkinter import *
import os.path
import tkinter.messagebox


# Creates module to run the game
def runGame():
    from pythonDocs import mainGame
    mainGame()


def Details():
    # Creates window
    startGUI = Tk()
    startGUI.geometry("270x250")
    startGUI.title("Python Challenge")

    # Creates text for startScreen
    Label(startGUI, text="Please enter your details:").grid(row=0)
    Label(startGUI, text="Please enter your Username (e.g. Jam40e)").grid(row=2)
    Label(startGUI, text="Please enter your Email (e.g. help@support.com)").grid(row=4)
    Label(startGUI, text="Please enter your Age (In numbers)").grid(row=6)
    Label(startGUI, text="Please enter your Gender (Male or Female)").grid(row=8)

    # Setting global variables
    global e1
    global e2
    global e3
    global e4


    # Creates entry field for details
    e1= Entry(startGUI)
    e1.grid(row=3, column=0)
    e1.focus_set()

    e2 = Entry(startGUI)
    e2.grid(row=5, column=0)
    e2.focus_set()

    e3 = Entry(startGUI)
    e3.grid(row=7, column=0)
    e3.focus_set()

    e4 = Entry(startGUI)
    e4.grid(row=9, column=0)
    e4.focus_set()

    def printtext():
        string = e1.get()
        string1 = e2.get()
        string2 = e3.get()
        string3 = e4.get()

        # Creates filePath
        PATH='./playerdata/' + string + '.txt'

        # Opens some text files to be writen on
        text_file_exists = open ('./playerdata/' + string + '.txt ' , 'w')
        text_file = open ('./playerdata/' + string + '.txt ' , 'w')
        if os.path.exists (PATH):
            tkinter.messagebox.showinfo('ERROR!','This username is already in use!')
        else:
            text_file.write (string + ', ADDSCORE')
            text_file.close()
    # Create entry button
    startButton3 = Button(text="Enter!", width=10, fg = 'green', activeforeground ='red', command = lambda: printtext())
    startButton3.grid(row=11, column=0)

 # Waits for input and draws window
    startGUI.mainloop()

Details()

粘贴到粘贴箱:

感谢@NightShadeQueen,我意识到我试图创建文档,然后检查它是否存在,傻瓜我!谢谢你的回答

尝试删除
text\u文件\u exists=
行,因为它似乎没有任何作用。IIRC,打开一个文件两次会导致奇怪的行为。等等,你打开一个文件,然后问操作系统它是否存在?我的IDE会自动删除这一行。但我还是把它拿走了。还有其他建议吗?修好了,那是我自己愚蠢的错误。谢谢@NightShadeQueen我没注意到!每个人都会这样:P