python - 在 tkinter 中重置用户输入
问题描述
我正在尝试在 tkinter 中编写脚本。很高兴知道:我对 python 有点陌生。该脚本接受用户输入以在服务器上查找用户输入。我第一次运行脚本时它工作正常,但是当试图找到新的东西时,脚本给了我错误:AttributeError: 'str' object has no attribute 'get'
所以我猜测用户输入/按钮需要以某种方式重置。而且我不明白为什么它第一次而不是第二次起作用。我试图找到一个好的方法来做到这一点,但我失败了。请阻止一个新手。
import requests, re, urllib.request
import tkinter as tk
from tkinter import *
from tkinter import ttk
window = Tk()
window.title("Find answer")
ttk.Label(window, text="What you wanna find: ").pack()
stuff = ttk.Entry(window)
stuff.pack()
frame = Frame(window, width=200, height=50)
frame.pack()
servers = ["192.168.8.3", "192.68.8.2"]
def find():
global stuff
stuff = stuff.get()
stuff = stuff.lower()
for server in servers:
f = urllib.request.urlopen("http://"+server+"/find")
result = f.read().decode('utf-8')
lab = tk.Label(frame,text="server")
lab.pack()
print(server)
def clicked_start():
find()
start_btn = ttk.Button(text="Find the stuff", command=clicked_start)
start_btn.pack(fill="none")
window.mainloop()
解决方案
我想原因是你重新定义了东西
global stuff
stuff = stuff.get()
stuff = stuff.lower()
该变量最初是一个条目对象,您将其重新定义为字符串
尝试使用另一个变量,例如
global stuff
stuffcontent = stuff.get()
stuffcontent = stuffcontent.lower()
推荐阅读
- r - 我需要从以下字符串中删除反斜杠,这是我在 R 的数据框中的 URL
- python - 烧瓶 request.files 是空的
- python - 获取数组中每对唯一对的总和
- command-prompt - 文件夹和所有子文件夹中的文件列表(包括隐藏文件)
- java - MacOS 上的 STS 错误:找不到主类(我已经尝试了所有能找到的解决方案)
- scala - 使用 scala 合成糖来收集 case 和 if
- string - 在 C++ 中对列表框进行排序
- nginx - HAproxy 健康检查底层应用
- zapier - 返回文件的 Zapier 触发器:z.dehydrateFile 调用的格式是什么?
- objective-c - React Native:获取本机模块大小