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