2

所以在我的空闲时间,我做了一个多线程程序,它在某种程度上是一个破解程序。它的作用是从 File1 读取一行并遍历 File2 ,从 File2 获取每一行数据,并将我从 File1 和 File2 获取的数据发送到网页并获得特定的响应。下面是我所做的一个例子。

import urllib2
import thread
import threading

lock = threading.Lock()

def check(data1, data2):
     specificdata = "specific"
     dataone = data1.replace("\n", "")
     datatwo = data2.replace("\n", "")
     link = "http://webpage.com/?data1=" + dataone + "&data2=" + datatwo
     response = urllib.urlopen(link).read()
     lock.acquire()
     if specificdata in response:
         print "Success!"
     else:
         print "Failed!"
     lock.release()

data1list = raw_input("Data One List Path: ")
data2list = raw_input("Data Two List Path: ")
print ""
data1file = open(data1list, 'r')
for data1 in data1file:
    if data1 == "\n":
        break
    else:
        data2file = open(data2list, 'r')
        for data2 in data2file:
            if data2 == "\n":
                break
            else:
                    thread.start_new_thread(check,(data1, data2))
        data2file.close()

当我运行它时,代码在空闲状态下工作,但当我只是双击文件时它不会,因为在我输入路径后,它只是垃圾邮件错误消息(不是“检查前失败()”或“检查失败()”)在我看到发生了什么之前就关闭了。知道有什么问题吗?

----------------------编辑----------

我设法得到了错误,它说

sys.excepthook 启动的线程中未处理的异常丢失了丢失的 sys.stderr

知道如何解决这个问题吗?

----------------------解决方案----------------------

Python 2.6 中使用 thread.start_new_thread() 的简单线程

4

0 回答 0