python2.7.5程序运行E

2024-05-14 10:06:37 发布

您现在位置:Python中文网/ 问答频道 /正文

所以在我空闲的时候,我做了一个多线程的程序,它在某种程度上是一个破坏者。它所做的是从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()

当我运行它时,代码在空闲状态下工作,但当我输入路径后双击文件时它就不能工作了,它只是发送错误消息(不是“FAILED BEFORE CHECK()”或“FAILED in CHECK()”),在我看到发生什么之前就关闭了。知道有什么问题吗?在

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

我设法得到了错误,它说

由启动的线程中出现未处理的异常 系统异常挂钩不见了 迷路的系统标准在

你知道怎么解决这个问题吗?在

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

Simple threading in Python 2.6 using thread.start_new_thread()


Tags: 数据inimportlockifthreadfile1else

热门问题