我是 python 新手,并且已经为此苦苦挣扎了很长一段时间。好的,所以我有一个程序可以登录到服务器,然后每 10 秒不断地 ping 服务器,以查看服务器的状态是否已更改。在同一个脚本中,我有一个向服务器发送消息的函数。
发送方法的一个简单示例:
def send(self, message):
url = ("https://testserver.com/socket?message=%s") % (message)
req = urllib2.Request(url, None, None)
response = urllib2.urlopen(req).read()
print response
我可以在这个脚本运行时从另一个脚本调用这个方法吗?就像使用同一个会话一样。似乎当我运行调用此函数的脚本时,它会创建它的一个新实例,而不是使用该脚本的当前实例,导致它抛出我的异常,说我没有连接到服务器。
对不起菜鸟问题。我已经尝试谷歌搜索了一段时间,但我似乎无法找到答案。我已阅读以下内容,但这些并没有解决问题:
嗨 @nFreeze 感谢您的回复,我尝试使用 ZeroRPC 但每次运行您提供的脚本/示例(显然已编辑)时,我都会遇到此错误:
Traceback (most recent call last):
File "C:\Users\dwake\Desktop\Web Projects\test.py", line 1, in <module>
import zerorpc
File "C:\Python27\lib\site-packages\zerorpc\__init__.py", line 27, in <module>
from .context import *
File "C:\Python27\lib\site-packages\zerorpc\context.py", line 29, in <module>
import gevent_zmq as zmq
File "C:\Python27\lib\site-packages\zerorpc\gevent_zmq.py", line 33, in <module>
import gevent.event
File "C:\Python27\lib\site-packages\gevent\__init__.py", line 48, in <module>
from gevent.greenlet import Greenlet, joinall, killall
File "C:\Python27\lib\site-packages\gevent\greenlet.py", line 6, in <module>
from gevent.hub import greenlet, getcurrent, get_hub, GreenletExit, Waiter
File "C:\Python27\lib\site-packages\gevent\hub.py", line 30, in <module>
greenlet = __import__('greenlet').greenlet
ImportError: No module named greenlet
即使我已经安装了 gevent。我不知道如何解决这个问题。现在已经在谷歌上搜索了一个小时。