我的代码很简单。使用 BaseHTTPServer 和 ThreadInMix 我想运行 每个同时发出的请求的 python 脚本 (Script1.py)。
我的代码-
从子进程导入 PIPE,Popen
从 SocketServer 导入 ThreadingMixIn
从 BaseHTTPServer 导入 HTTPServer,BaseHTTPRequestHandler
导入时间
def simple_script( self ):
打印“简单脚本”
s = Popen('C:/Python27/python C:/Script1.py 5', shell=True,
标准输出=管道,标准错误=管道)
出来,错误= s.communicate()
打印出来,错误
self.wfile.write(输出)
类处理程序(BaseHTTPRequestHandler):
def do_GET( self ):
self.send_response(200)
self.end_headers()
self.wfile.write('{0}\n'.format(time.asctime()))
简单脚本(自己)
返回
类 ThreadedHTTPServer(ThreadingMixIn,HTTPServer):
经过
如果 __name__ == '__main__':
服务器 = ThreadedHTTPServer(('', 8080), 处理程序)
print '启动服务器,使用
停止'
server.serve_forever()
"""
# C:/脚本1.py
导入时间,sys
s = 时间.时间()
而真实的:
如果 time.time() - s > int(sys.argv[1]):
休息
别的:
时间. sleep (1)
打印时间.asctime()
"""
我刚刚发现—— 网址:http://localhost:8080 如果我为 IE 打开多个选项卡/浏览器,这很好用 但是,
如果我在 Chrome 或 Firefox 中打开多个标签页/页面,这些页面会等待上一页吗?这并不意味着在 Chrome 或 Firefox 中使用线程?有什么帮助吗?谢谢
请您参考如下方法:
对我来说效果很好:
启动服务器,用于停止
localhost.localdomain - - [03/Oct/2011 16:25:55] "GET/HTTP/1.1"200 -
简单脚本
localhost.localdomain - - [03/Oct/2011 16:25:55] "GET/HTTP/1.1"200 -
简单脚本
2011 年 10 月 3 日星期一 16:25:56
2011 年 10 月 3 日星期一 16:25:57
2011 年 10 月 3 日星期一 16:25:58
2011 年 10 月 3 日星期一 16:25:59
2011 年 10 月 3 日星期一 16:26:00
2011 年 10 月 3 日星期一 16:26:01
2011 年 10 月 3 日星期一 16:25:56
2011 年 10 月 3 日星期一 16:25:57
2011 年 10 月 3 日星期一 16:25:58
2011 年 10 月 3 日星期一 16:25:59
2011 年 10 月 3 日星期一 16:26:00
2011 年 10 月 3 日星期一 16:26:01
