2016-10-17 4 views
-1

У меня, похоже, возникают различные проблемы с моим кодом. Во-первых, я не могу разделить текст, который вводит пользователь.Python - Создание текстовых файлов

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

Там нет ничего конкретного, чтобы TkInter о написании текстовых файлов, и ничего конкретного в текстовые файлы о tkinter. Хороший вопрос, который сосредотачивается вокруг кода, должен включать не что иное, как абсолютный минимум, необходимый для воспроизведения конкретной проблемы - это означает, что если у вас есть проблема с tkinter, у него должны быть учтены аспекты написания текстового файла, и если вы с проблемой написания текстового файла, он должен иметь аспекты tkinter. –

+3

См. Также [Как создать минимальный, завершенный и проверяемый пример] (http://stackoverflow.com/help/mcve) и, в общем, [Как задать хороший вопрос?] (Http: // stackoverflow .com/помощь/как к спрашивать). И один (реальный) вопрос на вопрос (StackOverflow), пожалуйста. –

+1

Помимо этого, вдаваясь в ответы: (1) Если вы хотите разделить строки, которые вы пишете, подумайте о переносе строк между ними; 'pythonfile.write ('\ n')' будет делать это, например. –

ответ

0

Вы должны добавить .txt afther файла. Также убедитесь, что файл находится в той же папке файла .py. Обратите внимание на крышки и пробелы.

pythonfile = open("User details.txt","w")

Если это does'nt работы, попробуйте добавить os.chdir(os.path.dirname(os.path.abspath(sys.argv[0]))) afther импорта, для меня это устранило проблему.

Для «проблем расстояния» попробуйте:

pythonfile.write(name, '\n', postcode, '\n', dob)

Кроме того, при создании псевдонима для использования Tkinter Ок, и при открытии файла попытайтесь назвать это file_it или f_in, так что более читаемым для других людей ... При задании имен файлов не использовать пробелы, это только собирается сделать все труднее, попробуйте назвать это так: userDetails.txt или user_details.txt

Смежные вопросы