Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python动态读取套接字流_Python_Multithreading_Sockets_Urllib - Fatal编程技术网

如何使用python动态读取套接字流

如何使用python动态读取套接字流,python,multithreading,sockets,urllib,Python,Multithreading,Sockets,Urllib,操作系统:Windows7 语言:Python v3.4 库:urllib 我使用REST协议从服务器检索数据。数据以一个巨大的XML字符串的形式返回 此时,我等待所有的数据输入,然后我检查它并取出我想要的数据。这需要很长时间,并且需要大量的RAM 我丢弃了大部分数据。所以我想做的是,从另一个线程读取套接字输入。这样,我就可以提取出我想要的数据。XML非常简单且可预测,因此我相信我可以在获得所有数据之前自己解析它 我愿意放弃urllib,编写自己的例程,直接读写套接字 或者也许有更好的方法,我不

操作系统:Windows7 语言:Python v3.4 库:urllib

我使用REST协议从服务器检索数据。数据以一个巨大的XML字符串的形式返回

此时,我等待所有的数据输入,然后我检查它并取出我想要的数据。这需要很长时间,并且需要大量的RAM

我丢弃了大部分数据。所以我想做的是,从另一个线程读取套接字输入。这样,我就可以提取出我想要的数据。XML非常简单且可预测,因此我相信我可以在获得所有数据之前自己解析它

我愿意放弃urllib,编写自己的例程,直接读写套接字

或者也许有更好的方法,我不知道-我对这种事情有些陌生。我用过线程,也做过一些套接字读写,但我对这些东西还不是很满意


有没有一种简单的方法仍然使用urllib,但从套接字读取数据?如果没有,我可能会看到哪些编程陷阱?

默认情况下,
urllib
返回的
HTTPResponse
对象不会缓存所有内容。这是在HTTPResponse中执行的操作。\uuu init\uuu:

self.fp = sock.makefile("rb")
read方法直接从这个套接字读取


您所要做的就是调用
urllib
返回的
HTTPResponse
对象的
read
方法,并为其指定需要读取的字节数。

能否显示代码中的几行相关行?谢谢。这正是我要找的。(我想我会跳过线程的想法)。