Python - 制作文本文件

时间:2016-10-17 17:27:19

标签: python tkinter

我的代码似乎遇到了各种问题。首先,我无法拆分用户输入的文本。

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()

1 个答案:

答案 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.txtuser_details.txt