找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2131|回复: 0

[求助] Ubuntu下Python GUI编程遇到的问题

1

主题

2

帖子

2

积分

贫民

积分
2
kongnian 发表于 2017-8-13 18:21:48 | 显示全部楼层 |阅读模式
代码:
  1. #!/usr/bin/env python
  2. #-*- coding:utf-8 -*-
  3. from Tkinter import *
  4. from ScrolledText import ScrolledText #文本滚动条
  5. import urllib
  6. import re
  7. import time
  8. import threading
  9. def get(ID):
  10.     var1.set('已经获取到第%s本书' % ID)
  11.     html = urllib.urlopen('https://read.douban.com/tag/%E7%9F%AD%E7%AF%87%E5%B0%8F%E8%AF%B4/?cat=article&sort=top&start=' + str(ID)).read()
  12.     reg = r'<span class="price-tag ">(.*?)元</span>.*?<a href="/ebook/.*?/">(.*?)</a>'
  13.     reg = re.compile(reg)
  14.     return re.findall(reg,html)
  15. #计算书本的数量
  16. def write():
  17.     ID = 0 #书本递增展示在GUI上的数量
  18.     a = []
  19.     s = 0 #书本数量
  20.     while ID <= 240:
  21.         L = get(ID) #调用上面的函数,获取书名跟价格
  22.         ID += 20
  23.         for i in L:
  24.             s += 1
  25.             a.append(float(i[0]))
  26.             text.insert(END,'书名:%s         价格:%s\n' % (i[1],i[0]))

  27.     text.insert(END,'------------------------\n')
  28.     text.insert(END,'该分类书本总数量%s\n' % s)
  29.     text.insert(END,'书本总价格:%s\n' % sum(a))
  30.     text.insert(END,'平均每本%.2f元' % (sum(a)/s))
  31.     fn = open('read.txt','w')
  32.     fn.write(text.get(1.0,END).encode('utf-8'))
  33.     fn.close()
  34.     var1.set('全部处理完成')
  35. def th():
  36.     t1 = threading.Thread(target=write)
  37.     t1.start()
  38. root = Tk() #创建窗口
  39. root.geometry('+800+200') #窗口大小
  40. root.title('豆瓣图书展示')
  41. text = ScrolledText(root,font=('微软雅黑',10))
  42. text.grid() #布局方法
  43. button = Button(root,text='开始采集',font=('微软雅黑',10),command = th)
  44. button.grid()
  45. var1 = StringVar() #设置变量,文字会发生改变
  46. label = Label(root,font=('微软雅黑',10),fg='red',textvariable = var1)
  47. label.grid()
  48. var1.set('准备中...')
  49. root.mainloop() #进入消息循环,发送命令
复制代码
报错:
见附件图片
Python版本:
2.7.13
操作系统:
Ubuntu16.04 LTS

报错信息

报错信息
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表