Python存储用户输入

时间:2015-07-13 21:55:36

标签: python tkinter

我根本没有完整的工作代码,但如果我想获取用户输入并存储它,然后采取不同的输入并将其存储到同一列表(就像存储登录信息的网站一样)它的成员和当他们想要重新登录时将它关联起来)我将如何在python中执行此操作? 我有这个简短的小代码:

[root@host1 mysql]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

但这会产生这样的结果:函数列表为0x7fdf1fa0f668

而不是(例如)Johnny

2 个答案:

答案 0 :(得分:2)

您没有调用该函数,因此您看到对该函数的引用,您还需要传递参数:

print List(param) 

你真正想要的是删除参数并只调用函数:

User_info = tkSimpleDialog.askstring("User Information", "What is your name?")
def List():
    List_name = []
    List_name.append(User_info)
    return List_name
print List()

或者简单地说:

User_info = tkSimpleDialog.askstring("User Information", "What is your name?")
def List():
    return [List_name]
print List()

获取并保存文件输入的简单示例,显然需要更安全地存储真实的用户名和密码:

master = Tk()
l = Label(master, text="Username")
l.pack()
 # create Entry for user
e = Entry(master)
e.pack()
l2 = Label(master, text="Password")
l2.pack()
# create Entry for pass and show * when user types their password
e2 = Entry(master,show="*")
e2.pack()
e.focus_set()

# callback function to save the username and password
def callback():
    with open("data.txt","a")as f:
        f.write("{},{}\n".format(e.get(),e2.get()))

# command set to callback when button is pressed
b = Button(master, text="Save", width=10, command=callback)
b.pack()

mainloop()

显然你应该验证用户是否真的为两者输入了一些内容,并且在真实的单词中你必须看到用户名是否被用来等等。

答案 1 :(得分:2)

from Tkinter import *
import tkSimpleDialog
import tkMessageBox
root = Tk()
w = Label(root, text="")
w.pack()

print list(iter( lambda x:tkSimpleDialog.askstring("User Information", "What is your name?"),""))

将打印您提供的所有名称,直到您没有字符串