BasicHTTPServer、SimpleHTTPServer 和并发

2023-11-25

我正在使用 python、BasicHTTPServer 和 SimpleHTTPServer 编写一个小型 Web 服务器用于测试目的。看起来它一次只处理一个请求。有什么办法可以让它更快一点,而又不会太麻烦吗? 基本上我的代码如下所示,我想保持简单;)

os.chdir(webroot)
httpd = BaseHTTPServer.HTTPServer(("", port), SimpleHTTPServer.SimpleHTTPRequestHandler)
print("Serving directory %s on port %i" %(webroot, port) )
try:
 httpd.serve_forever()
except KeyboardInterrupt:
 print("Server stopped.")

您可以使用 mixin 继承来创建自己的线程或分叉类套接字服务器:

import SocketServer
import BaseHTTPServer

class ThreadingHTTPServer(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer):
    pass

这有其局限性,因为它不使用线程池,受到 GIT 等的限制,但它可以提供一点帮助(相对较少的努力)。请记住,请求将由多个线程同时处理,因此请务必对在处理请求过程中完成的全局/共享数据(除非此类数据在启动后不可变)的访问进行适当的锁定。

这个问题覆盖相同的地面(不是特别长)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BasicHTTPServer、SimpleHTTPServer 和并发 的相关文章

  • 无法在 PIL 中对 16 位 TIF 应用图像滤镜

    我尝试使用 python 应用图像过滤器PIL http www pythonware com products pil 代码很简单 im Image open fnImage im im filter ImageFilter BLUR 此
  • python的_random是什么?

    如果你打开random py看看它是如何工作的 它的类Random子类 random Random import random class Random random Random Random number generator base
  • Python 将列表中的字符串转换为数字

    我遇到了以下错误消息 以 10 为基数的 int 的文字无效 2 2 外部用单引号括起来 内部用双引号括起来 该数据位于primes列出使用print primes 0 样本数据在primes list 2 3 5 7 The primes
  • 如何在 Linux 中显示进程状态(阻塞、非阻塞)

    有没有办法查询 Linux 进程表中进程的状态 以便能够演示执行查询时进程是正在运行还是被阻止 我的目标是从进程或程序的 外部 执行此操作 因为我希望从操作系统进程的角度来理解这一点 但欢迎任何想法 这是Python代码阻塞的过程 impo
  • cv2.face.mindistancepredictcollector() 错误

    我已经安装了带有额外模块的 opencv 3 1 0 但是当我尝试使用 gt gt gt s cv2 face MinDistancePredictCollector 它返回一个错误 Traceback most recent call l
  • 如何在 pygame 中聚焦光线或如何仅绘制窗口的某些圆形部分?

    对于这一点 如果您熟悉它 请想想 超级马里奥制造2 中嘘关卡中的黑暗模式 我试图在角色周围创建一个圆形聚光灯 这也将使圆圈范围内的任何内容都可见 例如部分站在地板上 敌人或场景中的任何其他物体 我的计划是首先绘制圆圈 聚光灯 然后绘制场景
  • Pygame 玩家精灵没有出现

    我一直在为学校计算机课做这个项目 但无法让玩家精灵出现 有人可以帮忙吗 当我运行主游戏循环时 除了玩家精灵之外 所有内容都正确显示 它应该由于箭头输入而在屏幕上移动并受到重力的影响 当我删除图像并仅使用对象类和矩形时 该代码也有效 impo
  • 确定Python模块中的函数是否可用

    我正在研究一些使用Python套接字的代码socket fromfd http docs python org library socket html socket fromfd功能 但是 此方法并非在所有平台上都可用 因此我正在编写一些后
  • 肥皂服务的良好框架是什么?

    我正在寻找一个用于肥皂的好框架service 我更喜欢使用Pythonic框架 但是在查看了soaplib rpclib 太不稳定 SOAPy 不适用于2 7 和ZSI 太 令人困惑 之后 我不确定这是否可能 我对使用另一种语言感到满意 尽
  • 将列表传递给 PyCrypto 中的 AES 密钥生成器

    我尝试使用 Pycrypto 生成 AES 密钥 但收到以下错误 类型错误 列表 不支持缓冲区接口 对于以下声明 aescipher AES new mykey AES MODE ECB mykey 属于类型list并包含 18854347
  • 更改Python pylab玫瑰/极坐标图中图例标题的字体大小

    我正在尝试更改玫瑰图或 极地 图上现有图例标题的字体大小 大部分代码是由不在的其他人编写的 我已经添加 ax legend title legend title setp l get title fontsize 8 添加标题 legend
  • Python变量赋值问题

    a b 0 1 while b lt 50 print b a b b a b 输出 1 2 4 8 16 32 wheras a b 0 1 while b lt 50 print b a b b a b 输出 正确的斐波那契数列 1 1
  • 图像堆栈的最大强度投影

    我正在尝试重新创建该功能 max array 3 来自 MatLab 它可以获取 N 个图像的 300x300px 图像堆栈 我在这里说 图像 因为我正在处理图像 实际上这只是一个大的双数组 300x300xN 并创建一个 300x300
  • import numpy 和 import numpy as np 之间的区别

    我明白 如果可能的话 应该使用 import numpy as np 这有助于避免由于命名空间引起的任何冲突 但我注意到虽然下面的命令有效 import numpy f2py as myf2py 以下不 import numpy as np
  • 避免在列表理解中计算相同的表达式两次[重复]

    这个问题在这里已经有答案了 我在列表理解中使用一个函数和一个 if 函数 new list f x for x in old list if f x 0 令我恼火的是这个表达f x 在每个循环中计算两次 有没有办法以更清洁的方式做到这一点
  • 从 sublime_plugin.WindowCommand 获取当前文件名

    我开发插件sublime text 3 并想要获取当前打开的文件路径 absolute1 self window view file name 在哪里self is sublime plugin WindowCommand 但失败了 Att
  • sklearn 中带有词袋和附加情感特征的文本分类器

    我正在尝试构建一个分类器 除了词袋之外 还使用情绪或主题 LDA 结果 等特征 我有一个包含文本和标签的 pandas DataFrame 并且想添加情感值 5 到 5 之间的数字 和 LDA 分析结果 带有句子主题的字符串 我有一个工作词
  • python 函数返回 javascript date.getTime()

    我正在尝试创建一个简单的 python 函数 它将返回与 javascript 相同的值new Date getTime 方法 如所写here http www w3schools com js js dates asp javascrip
  • 用于桌面数据库应用程序的 Python 框架

    是否有一个框架可以为Python开发桌面数据库应用程序 一些带有CRUD屏幕的屏幕 我正在寻找类似于 Windows 窗体的东西 能够将 TextField Combos 和其他 UI 隐喻与datasets连接到关系数据库例如 MySQL
  • 将 pandas 数据框中的多列更改为日期时间

    我有一个 13 列和 55 000 行的数据框 我正在尝试将其中 5 行转换为日期时间 现在它们返回类型 对象 我需要转换这些数据以进行机器学习 我知道如果我这样做 data birth date pd to datetime data b

随机推荐

  • 使用 Javascript 从输入中删除 :valid 伪类

    我有一个包含多个部分的表格 每个部分均使用 Bootstrap 4 验证手动验证 无需实际提交表单 这与下面的代码配合得很好 let eventCreationForm event creation form if eventCreatio
  • Azure AD B2C - 角色管理[重复]

    这个问题在这里已经有答案了 我有一个与 Azure AD B2C 连接的 Asp NET MVC 应用程序 在管理员设置中 我创建了一个管理员组 在我的代码中我想使用 Authorize Roles Administrator 使用常规 A
  • 图问题:在 SQL Server 中通过 NOCYCLE 先前替换进行连接?

    问题 I have the following directed graph 还有这张表 CREATE TABLE dbo T Hops UID uniqueidentifier NULL From nvarchar 1000 NULL T
  • javascript regexp 用于 00-59(秒)之间的数字

    我想检查某个字段是否是有效的时间值 仅秒 所以我想接受从 0 到 59 的数字 我得出了这个 0 5 0 9 这几乎可以完成工作 但排除数字 7 8 9 如果用户数字 07 它就可以工作 但我不想强迫用户数字第一个 0 所以我尝试了这样的操
  • Google Maps API v3:如何将缩放级别和地图中心设置为用户提交的位置?

    我已经使用 Google 的本教程构建了一个网络应用程序 该应用程序可以从用户输入的位置找到最近的商店 http code google com apis maps articles phpsqlsearch v3 html 我的应用程序几
  • 使用 Beautiful Soup 抓取多个 URL

    我正在尝试从多个 URL 中提取特定的类 标签和类保持不变 但我需要我的 python 程序在我输入链接时抓取所有内容 这是我的工作示例 from bs4 import BeautifulSoup import requests impor
  • Doctrine2 ORM 不会刷新在脚本之外更改的对象

    我真的不知道如何给这个标题或搜索一个已经发布的问题 所以如果以前在这里见过这个问题 我深表歉意 我使用以下代码得到了一些不需要的结果 get object managers fooManager this gt getContainer g
  • Uint8Array JavaScript 用例

    我刚刚发现 Javascript 通过以下方式输入了数组this关联 我立刻很好奇这些对象对语言有什么好处 我注意到 UInt8Arrays 丢失了 map 类型函数 我将拥有普通数组对象 所以如果你想循环它们 你将需要一个for loop
  • 如何使用环境路径查找可能不完全限定的文件?

    我有一个可执行文件名称 例如cmd exe并需要解决其完全限定路径 我知道该 exe 出现在列出的目录之一中PATH环境变量 有没有一种方法可以解析完整路径 而无需解析和测试中的每个目录PATH多变的 基本上我不想这样做 foreach s
  • 如何在PHP中限制文件上传类型的文件大小?

    我有一个上传表单 正在检查文件大小和文件类型 以将上传的文件限制为 2 MB 文件类型为 pdf jpg gif 或 png 我的目标是 如果用户违反这些规则之一 则向他们显示一条警报消息 有四种情况 正确尺寸 正确类型 工作 正确尺寸 错
  • 带硬件加速的画布抗锯齿(Android API 11 及更高版本)

    我有一个简单的位图 我在画布中绘制并使用矩阵旋转 我遇到的问题是 使用硬件加速时 边缘在旋转时不会消除锯齿 这在关闭硬件加速的情况下完美运行 当然 像 setDrawFilter 这样的东西是没有用的 因为当硬件加速打开时它们会被忽略 ca
  • javascript中如何在不同html页面之间传递变量值

    我想传递选择的值项目清单到另一个页面 意味着如果我从列表中选择 abc 那么这个 abc 值会传递到下一个 html 表单 它应该只打开该配置文件页面 有什么方法可以在不同的 html 页面之间使用此变量 ui li icon li cli
  • 为什么 C# 中不调用所有静态构造函数(即父类的静态构造函数)?

    我有三节课 Base Derived and Final Derived源自于Base and Final源自于Derived 所有三个类都有一个静态构造函数 班级Derived作为一个名为的公共静态方法Setup 当我打电话时Final
  • Jenkins Groovy 构建后脚本用函数评估文件

    我正在使用以下代码构建后我的詹金斯工作步骤 evaluate new File Set BuildBadge groovy 因此 如果确实如此 它就会成功运行脚本not包含函数 如果在脚本中我定义了一个function例如 def addS
  • 带有整数的 if 语句[重复]

    这个问题在这里已经有答案了 我是 Java 新手 我正在寻找家庭作业方面的帮助 我不会发布我最初这样做的完整代码 但我认为这不会帮助我学习它 我有一个与类一起使用的程序 我有一个将验证选择的类 一个包含我的 setter 和 getter
  • Linux 上的 PHP 5.4:如何连接 MS SQL Server 2008?

    我有一台 Linux 服务器 Debian 6 安装了 Apache 2 2 和 PHP 5 4 我需要将我的应用程序与 MS SQL Server 2008 连接 我的应用程序使用 Zend Framework 1 11 和字符集 UTF
  • 如何在选择文本后弹出窗口?

    我似乎无法弄清楚这一点 我有一个 div 里面有一些文本 当用户选择其中的一部分 完全随机 无论他们想要什么 时 我希望出现一个小弹出窗口 其中包含文本 要启动弹出窗口 我可以这样做吗 textdiv click function 但是我怎
  • 出现“内容丢失”的 Turbo Frame 错误

    我正在尝试在 Rails 应用程序中使用turbo frame tag 来管理一些任务 我为我的任务创建了一个脚手架 我将要使用的页面包装在 Turbo 框架标签内 如下所示 h1 New task h1 br div gt div
  • 从 scala 脚本退出 Spark-shell

    我正在使用这个命令来运行 scala 脚本 spark shell i test scala 在脚本执行结束时 我仍然看到 Spark shell 正在运行 我在 test scala 脚本中使用了 q quit 来尝试退出 但它不起作用
  • BasicHTTPServer、SimpleHTTPServer 和并发

    我正在使用 python BasicHTTPServer 和 SimpleHTTPServer 编写一个小型 Web 服务器用于测试目的 看起来它一次只处理一个请求 有什么办法可以让它更快一点 而又不会太麻烦吗 基本上我的代码如下所示 我想