我的代码似乎遇到了各种问题。首先,我无法拆分用户输入的文本。
E.g。如果他们为其姓名键入bob
,为其邮政编码键入ha8 9qy
,为其出生日期键入17/03/10
,则该程序将返回"bobha8 9qy17/03/10"
。
我应该如何分开输入?其次,我找不到我认为的文本文件。最后,有没有办法将信息返回到由Tkinter创建的新显示窗口?
import tkinter as kt
name=input("Enter your name")
postcode=input("Enter your postcode")
dob=input("Enter your date of birth")
window=kt.Tk()
window.title("File")
window.geometry("300x150")
def submit():
pythonfile = open("User details","w")
pythonfile.write((name))
pythonfile.write((postcode))
pythonfile.write((dob))
pythonfile = open(("User details"),"r")
print (pythonfile.read())
pythonfile.close()
Btn = kt.Button(window, text="Submit", command=submit)
Btn.pack()
答案 0 :(得分:0)
您必须在文件名后添加.txt
。还要确保该文件位于.py
文件的同一文件夹中。注意大写和空格。
pythonfile = open("User details.txt","w")
如果这确实有效,请尝试在导入后添加os.chdir(os.path.dirname(os.path.abspath(sys.argv[0])))
,对我来说,它解决了问题。
对于"间距问题"尝试:
pythonfile.write(name, '\n', postcode, '\n', dob)
另外,当您为Tkinter创建别名时使用tk,当您打开文件时,请尝试将其命名为file_it或f_in,这样对其他人来说更具可读性......
当命名文件不使用空格时,它只会让所有内容变得更难,请尝试将其命名为:userDetails.txt
或user_details.txt