python使用tkinter调用新窗口,被调用的窗口点击右上角关闭按钮会报错,怎么屏蔽按钮

主窗口中写了一个按钮调用一个函数,打开一个新的窗口

     def ask_wifi(self):
        inputDialog =getWifi.MyDialog()
        self.wait_window(inputDialog)
        return inputDialog.wifi

新的窗口中需要点击选择并返回选择内容,选择遇到一个问题,点击右上角关闭按钮x的时候会报错,有什么帮忙屏蔽按钮或者处理这个报错,新窗口代码:

import tkinter as tk
from tkinter import *
around_wifi=['1','2','3']
class MyDialog(tk.Toplevel):#wifi选择界面

    def __init__(self):
        super().__init__()
        self.title('wifi')
        self._setup_UI()
    def _setup_UI(self):
        self.wifi_listbox=Listbox(self)
        self.wifi_listbox.bind('<Double-Button-1>',self.ok)
        for str in around_wifi:
            self.wifi_listbox.insert(END,str)
        self.wifi_listbox.grid()
    def ok(self,i):
        wifi=self.wifi_listbox.get(self.wifi_listbox.curselection())
        self.wifi=[wifi]
        print('wifi:',wifi)
        self.destroy()
        return self.wifi

报错如下:
AttributeError: 'MyDialog' object has no attribute 'wifi'

1个回答

 没看到你定义wifi这个变量啊MyDialog写完整了么?
return self.wifi 在哪里。
在def __init__(self):
里面加上
self.wifi = []
weixin_43276494
dchtevhrtvjv$ 尴尬了,忘记了
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何解决ArcGIS中python插件调用Tkinter创建窗口崩溃的问题?

本人毕设使用python使用用addin-assistant制作Arcmap插件,然而在插件调用matplotlib输出散点图时却导致Arcmap崩溃,如下图:![图片说明](https://img-ask.csdn.net/upload/202004/20/1587361894_27991.png) 而后我发现只要插件调用Tkinter创建新窗口就会崩溃,输出散点图和创建新窗口异常信息都如下图:![图片说明](https://img-ask.csdn.net/upload/202004/20/1587361603_725968.jpg) 以下是最基本的插件内容,只要点击按钮运行必崩溃: ``` #!/usr/bin/python # -*- coding: UTF-8 -*- import arcpy import pythonaddins import Tkinter as tk class AB: test='' class ButtonClass2(object): """Implementation for test_addin.button (Button)""" def __init__(self): self.enabled = True self.checked = False def onClick(self): top = tk.Tk() l=tk.Label(top, text=AB.test, bg='green', font=('Arial', 12), width=30, height=2) top.mainloop() pass class ComboBoxClass1(object): """Implementation for test_addin.combobox (ComboBox)""" def __init__(self): self.items = ["item1", "item2"] self.editable = True self.enabled = True self.dropdownWidth = 'WWWWWW' self.width = 'WWWWWW' def onSelChange(self, selection): pass def onEditChange(self, text): AB.test=text pass def onFocus(self, focused): pass def onEnter(self): pass def refresh(self): pass ``` 在Arcmap里的python窗口一步一步输入代码运行创建窗口基本不会有问题,但偶尔还是会有崩溃的可能。 本人能力较差,很多基本知识还不懂,现在只是想完成毕业设计,创建窗口和散点图又是必须要的,不知道在插件里生成图和窗口是否合理,希望能够有人给出解决方案。

python的tkinter中的variable封装成类后调用无效?

学校要求开发一个小程序,目前我做了个查询天气的,当查询天气单独使用时,调用正常,可是import查询天气后,就出了bug 主程序代码: ``` from tkinter import * import WEATHER class main_menu: def __init__(self, master): master.title('主菜单') master.geometry('250x100') master.resizable(width=False, height=False) F1 = Frame(master) F2 = Frame(master) F1.pack(side=TOP) F2.pack(side=BOTTOM) weather_buttom = Button(F1, text='天气查询', command=self.init_weather) express_buttom = Button(F1, text='快递查询') plane_buttom = Button(F2, text='机票查询') train_buttom = Button(F2, text='车票查询') weather_buttom.pack(side=LEFT, pady=10, padx=10) express_buttom.pack(side=RIGHT, pady=10, padx=10) plane_buttom.pack(side=LEFT, pady=10, padx=10) train_buttom.pack(side=RIGHT, pady=10, padx=10) def init_weather(self): weather_window = Tk() weather = WEATHER.Weather(weather_window) weather_window.mainloop() if __name__ == '__main__': tk = Tk() main = main_menu(tk) tk.mainloop() ``` 天气查询实现的代码: ``` import time from selenium import webdriver #导入Selenium的webdriver from selenium.webdriver.common.keys import Keys #导入Keys from tkinter import * class Weather: def __init__(self, master): master.title('天气查询') master.resizable(width=False, height=False) F1 = Frame(master) F2 = Frame(master) F1.pack(side=TOP) F2.pack(side=BOTTOM) self.var = StringVar() self.var.set('aaaaa') self.e = Entry(F1) self.e.pack(side=LEFT, padx=5, pady=5) b = Button(F1, text='确认', command=self.__search) b.pack(side=RIGHT, padx=5, pady=5) L = Label(F2, textvariable=self.var, height=3) L.pack(side=BOTTOM) def __search(self): city = self.e.get() print('查询需要一定时间,请稍候...') driver = webdriver.PhantomJS() #指定使用的浏览器,初始化webdriver driver.get("http://www.tianqi.com/") #请求网页地址 assert "天气" in driver.title #看看 关键字 是否在网页title中,如果在则继续,如果不在,程序跳出。 search = driver.find_element_by_xpath('//*[@id="index_serch"]/input') #找到xpath元素,这里是个搜索框 search.clear() #清空搜索框中的内容 search.send_keys(city) #在搜索框中输入city search.send_keys(Keys.RETURN) #相当于回车键,提交 temperature_text = driver.find_element_by_xpath('/html/body/div[5]/div/div[1]/dl/dd[3]/p/b').text temperature_now = '%s当前温度:%s ℃'%(city, temperature_text) weather_text = driver.find_element_by_xpath('/html/body/div[5]/div/div[1]/dl/dd[3]/span/b').text weather_now = '%s当前天气:%s'%(city, weather_text) text = '查询城市:%s\n' \ '%s\n' \ '%s'%(city, weather_now, temperature_now) self.var.set(text) print(text) driver.close() #关闭webdriver if __name__ == '__main__': root = Tk() weather = Weather(root) root.mainloop() ``` 查询天气中的self.var在把查询天气单独使用时,可以正常赋值,而当在menu中调用查询天气,self.var就无效了

Python tkinter图形界面BUTTON事件控制和编辑框返回值出现异常

使用win7的Python3.73的IDLE界面编写图形界面程序,在编码过程中发现,如果定义一个主窗口后再定义一个局部窗口会导致后面的窗口的编辑框设置和取值异常。具体问题用一个测试程序来说明如下: ``` import tkinter as tk from tkinter import messagebox def newwin(title='test',geometry='300x300'): def ShowMessage(): tk.messagebox.showinfo(input.get()) window = tk.Tk() window.title(title) window.geometry(geometry) input = tk.StringVar() input.set('请输入任意内容!') tk.Label(window, text='请输入任意内容: ').place(x=10, y= 10) entry_new_name = tk.Entry(window, textvariable=input) entry_new_name.place(x=150, y=10) btn_show = tk.Button(window, text='显示输入', command=ShowMessage) btn_show.place(x=80, y=90) btn_newwin = tk.Button(window, text='新弹窗', command=newwin) btn_newwin.place(x=150, y=90) btn_exit = tk.Button(window, text='退出', command=exit) btn_exit.place(x=220, y=90) return window root = newwin() root.mainloop() ``` 上述代码执行后,显示一个窗口,内有:一个输入框,三个按钮,一个是显示输入框内容,一个是再次新建一个同样的窗口,一个是系统退出。执行后第一次打开窗口时相关功能正常,但当选择“新弹窗”弹出一个新的窗口后,编辑框的初始内容没有显示,且输入内容后,在新窗口显示编辑框的内容取得的值为变量初始化的值,没有取得新的输入。 关于以上代码,有如下几个问题: 1、为什么新弹窗中编辑框的显示和变化没有和变量关联起来? 2、上述代码中btn_newwin按钮定义如果改为:“btn_newwin = tk.Button(window, text='新弹窗', command=newwin)”中,如果newwin使用带实参格式,则会导致一启动就会不停新建窗口,导致递归调用过深异常出现才终止?这是为什么 ? 3、该代码存储到文件后,使用dos命令行方式执行文件无任何反应。是图形界面的程序无法在非图形界面解释器下执行吗?该怎么解决? 非常抱歉,本人没有C币,不知可有哪位大拿免费指教?谢谢!

Python中用tkinter创建GUI时,设置窗口大小,总是报错,求各位大神指导!

``` from tkinter import * root = Tk() root.title('My First Tk') root.geomtry('150x200') root.mainloop() ``` 报错信息: Traceback (most recent call last): File "G:/Lab/01jsq/jsq/main.py", line 9, in <module> root.geomtry('150x200') File "C:\Users\bitla\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 2101, in __getattr__ return getattr(self.tk, attr) AttributeError: '_tkinter.tkapp' object has no attribute 'geomtry' 真心不知道哪里出问题了,求各位大佬指导,跪谢!

Python使用tkinter实时动态显示图像闪烁问题?

global img_ global laser_map # 地图数据,从服务器收到数据,先解码 laser_map = base64.b64decode(msg) file_image = open('build_map.png', 'wb+') file_image.write(laser_map) img_ = Image.open("build_map.png",) width, height = img_.size # 做旋转操作 if width < height: self.rotate_flag = True img_.rotate(90, expand=True).save('build_map_rotate.png') else: self.rotate_flag = False img_.rotate(0, expand=True).save('build_map_rotate.png') self.zoom_map_image = Image.open('build_map_rotate.png') # PIL project tranform into PhotoImage project laser_map = ImageTk.PhotoImage(self.zoom_map_image) self.laser = self.canvas_map.create_image(self.canvas_center_x, self.canvas_center_y, anchor='center',image=laser_map) self.canvas_map.place(x=0, y=0)

一个小白求教如何使用Tkinter导入图片

本人是一个刚开始学习是用python的小白,目前自学到使用Tkinter在窗口上导入一张图片,但是无论如何都成功不了。 1.当我把文件的具体路径输入时,会出现下图的情况! ![图片说明](https://img-ask.csdn.net/upload/201906/17/1560756089_935794.jpg) 2.当我将文件复制到与py文件所在文件夹时,pycharm没有报错,窗口也能弹出,但是没有图片,如下图。 ![图片说明](https://img-ask.csdn.net/upload/201906/17/1560756362_903336.jpg) 求指导,不甚感激!

python tkinter如何与线程通讯?

如题,现有主线程(tkinter线程)和一辅助线程,现在要求辅助线程将某些信息投到某列表里,并由GUI线程进行调用 请问如何实现?

Python tkinter图形界面BUTTON时间控制和编辑框返回值出现异常?

使用win7的Python3.73的IDLE界面编写图形界面程序,在编码过程中发现,如果定义一个主窗口后再定义一个局部窗口会导致后面的窗口的编辑框设置和取值异常。具体问题用一个测试程序来说明如下: ``` import tkinter as tk from tkinter import messagebox def newwin(title='test',geometry='300x300'): def ShowMessage(): tk.messagebox.showinfo(input.get()) window = tk.Tk() window.title(title) window.geometry(geometry) input = tk.StringVar() input.set('请输入任意内容!') tk.Label(window, text='请输入任意内容: ').place(x=10, y= 10) entry_new_name = tk.Entry(window, textvariable=input) entry_new_name.place(x=150, y=10) btn_show = tk.Button(window, text='显示输入', command=ShowMessage) btn_show.place(x=80, y=90) btn_newwin = tk.Button(window, text='新弹窗', command=newwin) btn_newwin.place(x=150, y=90) btn_exit = tk.Button(window, text='退出', command=exit) btn_exit.place(x=220, y=90) return window root = newwin() root.mainloop() ``` 上述代码执行后,显示一个窗口,内有:一个输入框,三个按钮,一个是显示输入框内容,一个是再次新建一个同样的窗口,一个是系统退出。执行后第一次打开窗口时相关功能正常,初始界面如下(编辑框有初始文字显示): ![图片说明](https://img-ask.csdn.net/upload/201906/03/1559522244_111043.jpg) 编辑框输入内容后点击显示输入按钮后的窗口: ![图片说明](https://img-ask.csdn.net/upload/201906/03/1559522335_568410.jpg) 但当选择“新弹窗”弹出一个新的窗口后,编辑框的初始内容没有显示: ![图片说明](https://img-ask.csdn.net/upload/201906/03/1559522415_427087.jpg) 且输入内容后,在新窗口显示编辑框的内容取得的值为变量初始化的值,没有取得新的输入。新弹窗编辑框输入内容后点击显示输入按钮后的窗口: ![图片说明](https://img-ask.csdn.net/upload/201906/03/1559522568_856.jpg) 关于以上代码,有如下几个问题: 1、为什么新弹窗中编辑框的显示和变化没有和变量关联起来? 2、上述代码中btn_newwin按钮定义如果改为:“btn_newwin = tk.Button(window, text='新弹窗', command=newwin)”中,如果newwin使用带实参格式,则会导致一启动就会不停新建窗口,导致递归调用过深异常出现才终止?这是为什么 ? 3、该代码存储到文件后,使用dos命令行方式执行文件无任何反应。是图形界面的程序无法在非图形界面解释器下执行吗?该怎么解决? 非常抱歉,本人没有C币,不知可有哪位大拿免费指教?谢谢!

python3 tkinter Entry组件获取输入内容,通过button组件运行失败

修改之前没有通过Entry 输入框来获取文件地址,修改后手动输入地址就会报错,小白求助。。。。。。。 修改之前 ``` from PIL import Image import tkinter as tk root = tk.Tk() input01 = tk.Entry() input01.pack() def dakai(): fullpath = "C:/Users/PJN1SZH/Desktop/New folder/background.gif" image = Image.open(fullpath,'r') image.show() button = tk.Button(root,text = 'dsadasda',command = dakai) button.pack() root.mainloop() ``` 修改后 ``` from PIL import Image import tkinter as tk root = tk.Tk() input01 = tk.Entry() input01.pack() fullpath = input01.get() def dakai(): image = Image.open(fullpath,'r') image.show() button = tk.Button(root,text = 'dsadasda',command = dakai) button.pack() root.mainloop() ``` ![图片说明](https://img-ask.csdn.net/upload/201901/16/1547610042_402101.png)

Python Tkinter Button 按下一个按钮如何实现自动按下另一个按钮

![图片说明](https://img-ask.csdn.net/upload/201908/09/1565333151_313898.jpg) 如图,如何实现点击“Test”按钮后,自动去按“Test2”这个按钮? 每个按钮的功能不同。

tkinter想要获得控件回调函数的返回值

tkinter想要获得控件回调函数的返回值,用了global变量,但必须关闭窗口,可以不关窗口继续在窗口中使用吗? ``` import tkinter as tk from tkinter import ttk root = tk.Tk() def Tj_go(*args): global Tj_num Tj_num = int(Tj_numberChosen.get()) return Tj_num Tj_number = tk.StringVar() Tj_numberChosen = ttk.Combobox(root, width=6, textvariable=Tj_number) Tj_numberChosen['values'] = (1, 2, 3, 4) Tj_numberChosen.grid(row=4, column=2) Tj_numberChosen.current(0) Tj_num = 1 Tj_numberChosen.bind("<<ComboboxSelected>>",Tj_go) root.mainloop() ``` 想把用户选择后的Tj_num的值返回到全局,后面还需要用

python的tkinter在子线程中执行grid_forget函数总是崩掉

只在子线程中蹦,在点击事件中就正常。 崩掉的时候先是卡着不动了,然后会出个对话框,点确定就直接关了。 求解决! 也可以告诉我用代码触发点击事件的方法。

python2 中tkinter 打开文件 中文乱码

这个程序的目的是写一个文件树软件,通过“打开”button 打开地址对话框,选择文件夹。如果是文件夹 双击则继续打开 如果是文件 双击则打开文件。 (双击打开文件还没写) 现在打开文件夹之后 很多地方显示乱码,而且打开某一个文件并不是马上显示出文件夹中所有文件,需要点进去再退回来才能显示。 现在程序应该有不少错误,一点点改吧。 首先请问大神 怎么解决中文乱码问题? 在运行的时候提示这种错误语言: Traceback (most recent call last): File "D:\Python27\lib\lib-tk\Tkinter.py", line 1547, in __call__ return self.func(*args) File "d:\Untitled-1.py", line 28, in setDirAndGo doLS() File "d:\Untitled-1.py", line 52, in doLS cwd.set(os.getcwd()+'\\'+tdir) UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 3: ordinal not in range(128) ``` #!/usr/bin/env python # -*- coding: utf-8 -*- import os from time import sleep from Tkinter import * import tkFileDialog #弹出选择路径的库 import tkMessageBox import fnmatch #选择文件的关键词 def dakai(): dirs.delete(0,END) default_dir = r"C:\Users\lenovo\Desktop" # 设置默认打开目录 path = tkFileDialog.askdirectory(title=u"选择文件", initialdir=(os.path.expanduser(default_dir))) doLS1(path) #双击时调用,双击时,设置背景色为红色,并调用doLS函数打开所选文件 def setDirAndGo(ev=None): last = cwd.get() dirs.config(selectbackground='red') check = dirs.get(dirs.curselection()) if not check: check = os.curdir cwd.set(check) doLS() #实现更新目录的核心函数 def doLS(ev=None): error = '' tdir = cwd.get() if not tdir:tdir=os.curdir #若路径输入错误,或者打开的是文件,而不是目录,则更新错误提示信息 if not os.path.exists(tdir): error = os.getcwd()+'\\'+tdir + ':未找到文件' elif not os.path.isdir(tdir): error = os.getcwd()+'\\'+tdir + ':未找到目录' if error: cwd.set(error) top2.update() sleep(1) if not (last): last = os.curdir cwd.set(os.curdir) dirs.config(selectbackground='LightSkyBlue') dirn.config(text=os.getcwd()+'\\'+tdir) top2.update() return cwd.set(os.getcwd()+'\\'+tdir) top2.update() dirlist = os.listdir(tdir)#os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。 dirlist.sort() os.chdir(tdir)#os.chdir() 方法用于改变当前工作目录到指定的路径。 #更新界面上方标签内容 dirl.config(text=os.getcwd().decode("gbk").encode("utf-8")) top2.update() dirs.delete(0,END) dirs.insert(END,os.pardir)#os.chdir(os.pardir) 切换到上级目录 即将上级目录.. 插入到dirs对象中 #把选定目录的文件或文件夹的名字的列表依次插入到dirs对象中 for eachFile in dirlist: dirs.insert(END,eachFile.decode("gbk").encode("utf-8")) #先解码 再编码 bingo! cwd.set(os.curdir) dirs.config(selectbackground='LightSkyBlue') def doLS1(path): error = '' tdir = path if not tdir:tdir=os.curdir #若路径输入错误,或者打开的是文件,而不是目录,则更新错误提示信息 if not os.path.exists(tdir): error = os.getcwd()+'\\'+tdir + ':未找到文件' elif not os.path.isdir(tdir): error = os.getcwd()+'\\'+tdir + ':未找到目录' if error: cwd.set(error) top2.update() sleep(1) if not (last): last = os.curdir cwd.set(os.curdir) dirs.config(selectbackground='LightSkyBlue') dirn.config(text=os.getcwd()+'\\'+tdir) top2.update() return cwd.set(os.getcwd()+'\\'+tdir) top2.update() dirlist = os.listdir(tdir)#os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。 dirlist.sort() os.chdir(tdir)#os.chdir() 方法用于改变当前工作目录到指定的路径。 #更新界面上方标签内容 dirl.config(text=os.getcwd().decode("gbk").encode("utf-8")) top2.update() dirs.delete(0,END) dirs.insert(END,os.pardir)#os.chdir(os.pardir) 切换到上级目录 即将上级目录.. 插入到dirs对象中 #把选定目录的文件或文件夹的名字的列表依次插入到dirs对象中 for eachFile in dirlist: dirs.insert(END,eachFile.decode("gbk").encode("utf-8")) cwd.set(os.curdir) dirs.config(selectbackground='LightSkyBlue') top2 = Tk() top2.title('营销集约管控中心-文件树') cwd = StringVar(top2) dirl = Label(top2,fg = 'blue') dirl.pack() dirfm = Frame(top2) dirsb = Scrollbar(dirfm) dirsb.pack(side=RIGHT,fill=Y) dirs = Listbox(dirfm,height=15,width=50,yscrollcommand=dirsb.set) #通过使用List的bind()方法,将鼠标双击事件绑定,并调用setDirAndGo函数 dirs.bind('<Double-1>',setDirAndGo) # 下面实现单击时,将所选文件路径加名字更新到下方输入框控件中,不能用self.dirs.bind('<Button-1>', self.setDirn)绑定单击事件,会出错 #dirs.bind("<<ListboxSelect>>", setDirn) dirsb.config(command=dirs.yview) dirs.pack(side=LEFT,fill=BOTH) dirfm.pack() #第二个框架bfm,放置按钮 bfm = Frame(top2) open = Button(bfm,text='打开',command=dakai,activeforeground='white',activebackground='blue') open.pack(side=LEFT) bfm.pack() if __name__ =='__main__': #设定初始目录为桌面 mainloop() ```

python tkinter中button怎么绑定多个变量

我想了好久,想不到解决办法。 我是用tkinter+selenium,一键启动几个浏览器。 是考虑多线程吗?还是本身command可以直接绑定多个变量? 求指点解决思路最好,比如怎么查看button的command的使用。。。。。 然后再考虑多线程或者别的什么? 我实在是小白,大神别见笑,提点两句给个方向,谢谢

python 关于tkinter.Tk().geometry("widthxheight+x+y")参数问题的深入提问。

环境 python 3.7.2 ![图片说明](https://img-ask.csdn.net/upload/201902/14/1550124344_4153.png) 1:关于tkinter.Tk().geometry("widthxheight+x+y"),官方的文档是:Set geometry to NEWGEOMETRY of the form =widthxheight+x+y. Return。这些我都明白,测试中发现即使省略一部分参数也没有问题。比如: ![图片说明](https://img-ask.csdn.net/upload/201902/14/1550124512_154603.png) 直接输入长宽 或者直接输入位置点(x,y)都能正常运行。于是我就想进入方法里面看看是怎么运行的。 2:![图片说明](https://img-ask.csdn.net/upload/201902/14/1550124782_620507.png) 在eclipse中按住Ctrl点击geometry方法,进入到图2总的1842行处。 再由代码判断进入到了1838行的def wm_geometry(self, newGeometry=None):方法。在方法中执行1841行self.tk.call('wm', 'geometry', self._w, newGeometry)语句。(其中形参newGeometry存放的传入的字符串) 3问题 ![图片说明](https://img-ask.csdn.net/upload/201902/14/1550125458_740329.png) 继续进入call方法,发现有很多选择,都设置断点断点调试发现断点都没有走到。分析参数感觉有点像是映射,调用wm类中的geometry方法。(但检查发现这个方法就是在wm类里面) 本人刚刚学习python(以前有点java基础),想请教一下大神后面应该怎么去分析传入的参数处理???

python类内部的方法调用

class Adaboosting中demo_train方法中要调用同个类中的loadDataSet方法,但是根本没进到程序之中,求教是什么原因,谢谢大佬们了 demo_train的代码如下 ``` def demo_train(self): print("已进入到了内部函数") print(self.model) if self.model==None: self.model="test.txt" dataArr, LabelArr = self.loadDataSet(self.model) weakClassArr, aggClassEst = Adaboosting.adaBoostTrainDS(dataArr, LabelArr) # from my_adaboosting_SVM_ROC import adaClassify print("正在训练模型...") predictions = self.adaClassify(dataArr, weakClassArr) errArr = np.mat(np.ones((len(dataArr), 1))) number=1-float(errArr[predictions != np.mat(LabelArr).T].sum() / len(dataArr) * 100) print('训练集的错误率:%.3f%%' % float(errArr[predictions != np.mat(LabelArr).T].sum() / len(dataArr) * 100)) # print("33333333") print(self.train) if self.train==None: self.train="test6.txt" # print("444444444") print(self.train) # train = "test6.txt" testArr, testLabelArr = self.loadDataSet(self.train) predictions = self.adaClassify(testArr, weakClassArr) print(predictions) errArr = np.mat(np.ones((len(testArr), 1))) number1=1-float(errArr[predictions != np.mat(testLabelArr).T].sum() / len(testArr) * 100) print('测试集的错误率:%.3f%%' % float(errArr[predictions != np.mat(testLabelArr).T].sum() / len(testArr) * 100)) from my_adaboosting_SVM_ROC import plotROC plotROC(aggClassEst.T, LabelArr) return number ,number1 ``` loadDataSet的代码如下 ``` # 导入数据 def loadDataSet(fileName): print("hhhhhhhhhhhhhhhhh") numFeat = len((open(fileName).readline().split('\t'))) dataMat = []; labelMat = [] fr = open(fileName) for line in fr.readlines(): lineArr = [] curLine = line.strip().split('\t') for i in range(numFeat - 1): lineArr.append(float(curLine[i])) dataMat.append(lineArr) labelMat.append(float(curLine[-1])) return dataMat, labelMat ``` 运行结果: ![图片说明](https://img-ask.csdn.net/upload/202001/12/1578831845_541963.png)

Tkinter使用filedialog读入JSON文件返回文件流如何处理

Tkinter使用filedialog读入JSON文件返回文件流如何处理 **目的:**把文件流转换成Python易于处理的List或字典,便于将来遍历,插入MongoDB 代码如下: ```python def openfile(): file_in=tkinter.filedialog.askopenfile(title="打开一个Json文件",filetypes=[("JSON",".json")]) data=[] for line in file_in.readLines(): dic = json.loads(line) data.append(dic) print(len(data)) ``` 目前程序报错:AttributeError: '_io.TextIOWrapper' object has no attribute 'readLines' 我知道是文件流没有这个方法,我想知道如何处理

python gui编程设了两个滚动条为什么只出现一个?

1.为什么我的pythongui编程滚动条只出现了一个?是tkinter只能有一个滚动条吗?我只有把一个注释了才会出现另一个。 2.这是我设置窗口的代码 def set_init_window(self): self.init_window_name.title("dna存储模拟系统") #窗口名 #self.init_window_name.geometry('320x160+10+10') #290 160为窗口大小,+10 +10 定义窗口弹出时的默认展示位置 self.init_window_name.geometry('1068x681+10+10') #self.init_window_name["bg"] = "pink" #窗口背景色,其他背景色见:blog.csdn.net/chl0000/article/details/7657887 #self.init_window_name.attributes("-alpha",0.9) #虚化,值越小虚化程度越高 #标签 self.init_data_label = Label(self.init_window_name, text="待处理数据") self.init_data_label.grid(row=0, column=0) self.result_data_label = Label(self.init_window_name, text="输出结果") self.result_data_label.grid(row=0, column=12) self.log_label = Label(self.init_window_name, text="日志") self.log_label.grid(row=12, column=0) #文本框 self.init_data_Text = Text(self.init_window_name, width=67, height=35) #原始数据录入框 self.init_data_Text.grid(row=1, column=0, rowspan=10, columnspan=10) self.result_data_Text = Text(self.init_window_name, width=70, height=49) #处理结果展示 self.result_data_Text.grid(row=1, column=12, rowspan=15, columnspan=10) self.log_data_Text = Text(self.init_window_name, width=66, height=9) # 日志框 self.log_data_Text.grid(row=13, column=0, columnspan=10) #按钮 self.str_trans_to_md5_button = Button(self.init_window_name, text="设置大小", bg="lightblue", width=10) # 调用内部方法 加()为直接调用 self.str_trans_to_md5_button.grid(row=1, column=11) self.str_trans_to_md5_button = Button(self.init_window_name, text="开始转换", bg="lightblue", width=10) self.str_trans_to_md5_button.grid(row=2, column=11) self.str_trans_to_md5_button = Button(self.init_window_name, text="打开文本文件", bg="lightblue", width=10,command=self.open_file) self.str_trans_to_md5_button.grid(row=0, column=1) # 原始数据滚动条 self.init_data_scrollbar_y = Scrollbar(self.init_window_name) # 创建纵向滚动条 self.init_data_scrollbar_y.config(command=self.init_data_Text.yview) # 将创建的滚动条通过command参数绑定到需要拖动的Text上 self.init_data_Text.config(yscrollcommand=self.init_data_scrollbar_y.set)#Text反向绑定滚动条 self.init_data_scrollbar_y.grid(row=1, column=10, rowspan=10, sticky='NS') # 结果滚动条 self.result_data_scrollbar_y = Scrollbar(self.init_window_name) # 创建纵向滚动条 self.result_data_scrollbar_y.config(command=self.result_data_Text.yview) # 将创建的滚动条通过command参数绑定到需要拖动的Text上 self.result_data_Text.config(yscrollcommand=self.result_data_scrollbar_y.set)#Text反向绑定滚动条 self.result_data_scrollbar_y.grid(row=1, column=23, rowspan=15, sticky='NS')

在树莓派上使用 Python,对串口进行读写操作,遇到一个问题,下面是我的一部分代码

import tkinter as tk from tkinter import messagebox # import this to fix messagebox error import pickle import serial ser = serial.Serial('/dev/ttyS0', 9600, parity=serial.PARITY_NONE) # login and sign up button btn_login = tk.Button(window, text='Login', command=usr_login) btn_login.place(x=170, y=230) btn_sign_up = tk.Button(window, text='Sign up', command=usr_sign_up) btn_sign_up.place(x=270, y=230) def usr_config(usr_name): window_config = tk.Toplevel(window) window_config.title('config') window_config.geometry('200x200') print (usr_name) var3 = usr_name def print_selection(): value = lb.get(lb.curselection()) #从列表中光标选中的位置获取值赋给 value var1 = '%d' %value var3 = usr_name var4 = var3 +'I will back in' + var1 + 'minutes' var5 = var4.encode() print(ser.isOpen()) ser.write(var5) tk.messagebox.showinfo(title='Confirmation', message='Your message has been sent successfully'+ '/n' + 'message is:' +var4) window_config.destroy() b1 = tk.Button(window_config, text='print_selection', width=15, height=2, command=print_selection) b1.pack() var2 = tk.StringVar() var2.set((11,22,33,44)) lb = tk.Listbox(window_config, listvariable=var2) #设置 listbox list_items = [1,2,3,4] lb.pack() var3 = tk.StringVar() var3.set(usr_name) window.mainloop() 运行时不报错,但是下位机上的串口不能接收到 ser.write(var5) 通过串口发送的信息 而我直接在 IDLE 中依次输入'var ='I will back in 5 minutes'' var1 = var.encode() “import serial” “ser= serial.Serial('/dev/ttyAMA0',9600)” 'ser.open()' 'ser.write(var1)' 下位机上的接收程序是完全可以正常接收的 百思不得其解,跪求大神帮看看 ![图片说明](https://img-ask.csdn.net/upload/201704/26/1493192711_793814.png)

学Python后到底能干什么?网友:我太难了

感觉全世界营销文都在推Python,但是找不到工作的话,又有哪个机构会站出来给我推荐工作? 笔者冷静分析多方数据,想跟大家说:关于超越老牌霸主Java,过去几年间Python一直都被寄予厚望。但是事实是虽然上升趋势,但是国内环境下,一时间是无法马上就超越Java的,也可以换句话说:超越Java只是时间问题罢。 太嚣张了会Python的人!找工作拿高薪这么简单? https://edu....

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

为什么程序猿都不愿意去外包?

分享外包的组织架构,盈利模式,亲身经历,以及根据一些外包朋友的反馈,写了这篇文章 ,希望对正在找工作的老铁有所帮助

Java校招入职华为,半年后我跑路了

何来 我,一个双非本科弟弟,有幸在 19 届的秋招中得到前东家华为(以下简称 hw)的赏识,当时秋招签订就业协议,说是入了某 java bg,之后一系列组织架构调整原因等等让人无法理解的神操作,最终毕业前夕,被通知调往其他 bg 做嵌入式开发(纯 C 语言)。 由于已至于校招末尾,之前拿到的其他 offer 又无法再收回,一时感到无力回天,只得默默接受。 毕业后,直接入职开始了嵌入式苦旅,由于从未...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

@程序员:GitHub这个项目快薅羊毛

今天下午在朋友圈看到很多人都在发github的羊毛,一时没明白是怎么回事。 后来上百度搜索了一下,原来真有这回事,毕竟资源主义的羊毛不少啊,1000刀刷爆了朋友圈!不知道你们的朋友圈有没有看到类似的消息。 这到底是啥情况? 微软开发者平台GitHub 的一个区块链项目 Handshake ,搞了一个招募新会员的活动,面向GitHub 上前 25万名开发者派送 4,246.99 HNS币,大约价...

用python打开电脑摄像头,并把图像传回qq邮箱【Pyinstaller打包】

前言: 如何悄悄的打开朋友的摄像头,看看她最近过的怎么样,嘿嘿!这次让我带你们来实现这个功能。 注: 这个程序仅限在朋友之间开玩笑,别去搞什么违法的事情哦。 代码 发送邮件 使用python内置的email模块即可完成。导入相应的代码封装为一个send函数,顺便导入需要导入的包 注: 下面的代码有三处要修改的地方,两处写的qq邮箱地址,还有一处写的qq邮箱授权码,不知道qq邮箱授权码的可以去百度一...

C++(继承):19---虚基类与虚继承(virtual)

一、菱形继承 在介绍虚继承之前介绍一下菱形继承 概念:A作为基类,B和C都继承与A。最后一个类D又继承于B和C,这样形式的继承称为菱形继承 菱形继承的缺点: 数据冗余:在D中会保存两份A的内容 访问不明确(二义性):因为D不知道是以B为中介去访问A还是以C为中介去访问A,因此在访问某些成员的时候会发生二义性 缺点的解决: 数据冗余:通过下面“虚继承”技术来解决(见下) 访问...

计算机网络——浅析网络层

一、前言 注意,关于ipv4和ipv6,ipv4是ip协议第4版本,也表示这个版本的ip一共4个字节,同样地,ipv6是ip协议第6版本,也表示这个版本的ip一共6个字节。 关于网络层使用路由器实现互联:在计算机网络的分层结构中,不同层有不同的中继设备: 计算机网络层 中继设备/中继系统 物理层 中继器、集线器Hub 数据链路层 网桥或交换机(交换机是多端口网桥,两者本质上是一个东西) 网络层 路...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

华为初面+综合面试(Java技术面)附上面试题

华为面试整体流程大致分为笔试,性格测试,面试,综合面试,回学校等结果。笔试来说,华为的难度较中等,选择题难度和网易腾讯差不多。最后的代码题,相比下来就简单很多,一共3道题目,前2题很容易就AC,题目已经记不太清楚,不过难度确实不大。最后一题最后提交的代码过了75%的样例,一直没有发现剩下的25%可能存在什么坑。 笔试部分太久远,我就不怎么回忆了。直接将面试。 面试 如果说腾讯的面试是挥金如土...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

女朋友过生日,我花了20分钟给她写了一个代理服务器

女朋友说:“看你最近挺辛苦的,我送你一个礼物吧。你看看想要什么,我来准备。” 我想了半天,从书到鞋子到电子产品最后到生活用品,感觉自己什么都不缺,然后和她说:“你省省钱吧,我什么都不需要。” 她坚持要送:“不行,你一定要说一个礼物,我想送你东西了。” 于是,我认真了起来,拿起手机,上淘宝逛了几分钟,但还是没能想出来缺点什么,最后实在没办法了:“这样吧,如果你实在想送东西,那你就写一个代理服务器吧”...

记一次腾讯面试,我挂在了最熟悉不过的队列上……

腾讯后台面试,面试官问:如何自己实现队列?

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

立即提问
相关内容推荐