Skip to main content
 首页 » 编程设计

python之BaseHTTPServer 线程不工作

2025年05月04日7虾米姐

我的代码很简单。使用 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