т.е. с потоками я работать могу, просто сейчас когда решил использовать классы не совсем понятна логика работы в именно классе. Пожалуйста подскажите как правильно это реализовать.
# -*- coding: utf-8 -*-
import wx, urllib, re, time
class GUI(wx.Dialog):
def __init__(self, parent):
"""Часть кода упущена для экономии места"""
def Start(self, event):
main = Parser()
main.Start_parser(self.TcURL.GetValue(), self.filename)
main.count_str(self.filename)
def onOpenFile(self, event):
global dlg
dlg = wx.FileDialog(self, message="Choose a file", defaultFile="", wildcard = "Text file (*.txt)|*.txt|" "All files (*.*)|*.*", style=wx.OPEN | wx.MULTIPLE | wx.CHANGE_DIR)
if dlg.ShowModal() == wx.ID_OK:
paths = dlg.GetPaths()
self.filename = dlg.GetFilename()
dlg.Destroy()
class Parser:
def Start_parser(self, url, openfile):
global start_time
start_time = time.time()
f = open(openfile, 'w+')
count = 0
while count < 1000:
site = urllib.urlopen(url+'memberlist.php?start='+str(count)).read()
pattern = r'class=\"gen\">([^<]+)</a>'
users = re.compile(pattern)
users = re.findall(pattern, site)
count += 50
if len(users) == 0:
break
for user in users:
f.write(user.decode('windows-1251').encode('utf-8')+'\n')
print user
def count_str(self, openfile):
print ('Количество собраных логинов: %s' % (len(open(openfile, 'r').readlines())))
print ("Времени затрачено : %s" % (time.time() - start_time)+'\n')
"""Как сюда прикрутить потоки"""