⑴ 如何用python搭建一个最简单的Web服务器
利用Python自带的包可以建立简单的web服务器。在DOS里cd到准备做服务器根目录的路径下,输入命令:
python -m Web服务器模块 [端口号,默认8000]
例如:
python -m SimpleHTTPServer 8080
然后就可以在浏览器中输入
localhost:端口号/路径
来访问服务器资源。
⑵ 使用python启动了一个simplehttp server服务,跑完任务后怎么样关掉这个服务的
os.popen()可以实现一个“管道”,从这个命令获取的值可以继续被调用。而os.system不同,它只是调用,调用完后自身退出,可能返回个0吧
懂了吧,所以如果你不需要 os.popen('start "" python -m SimpleHTTPServer 80')这个命令的返回值,那就直接用os.system好了。
⑶ python的simplehttpserver模块怎么指定网页目录
SimpleHTTPServer:包含执行GET和HEAD请求的SimpleHTTPRequestHandler类。
通过下面命令我们创建了HTTP服务,默认使用8000端口号监听。如果文件夹下有index.html,那么这个文件就会成为一个默认页,如果没有这个文件,那么,目录列表就会显示出来。
⑷ 关于多个python文件共享数据
简单。一个是通过线程同步。另一个就是全局变量global,加上这个修饰就可以了。python一个进程里的所有东西,都是在一个内存空间的。只要加了global就可以访问。可以用这个全局变量通讯,效果也是一样的。python一个进程只用一个CPU核。所以不存在楼下说的地址空间不一样的问题。
进程间同步也有几个方法。通常使用共享内存,管道,不过最常用的还是socket或者是数据库。还有些分布式组件不是很好用。我通常用mutliprocessing,里面有现成的进程通信办法。
看到你的需求。我觉着可以用两个变量,一个变量记录修改状态,另一个变量要求先锁再进行修改。目前看来如果仅仅是python里实现。直接使用memcache这个工具就可以解决。一个程序读写,其它的程序只需要轮洵就可以了。从原理上讲memcache是一个内存数据库。
⑸ 请问python建立simplehttpserver服务器的时候为什么会卡住
正常,这才是服务器
首先确保装了Python,我装的是2.x版本,对了,我的操作系统是WIN7,其实对于Python来说,什么操作系统并不重要。Python内置了一个简单的HTTP服务器,只需要在命令行下面敲一行命令,一个HTTP服务器就起来了:
python -m SimpleHTTPServer 80
后面的80端口是可选的,不填会采用缺省端口8000。注意,这会将当前所在的文件夹设置为默认的Web目录,试着在浏览器敲入本机地址:
如果当前文件夹有index.html文件,会默认显示该文件,否则,会以文件列表的形式显示目录下所有文件。这样已经实现了最基本的文件分享的目的,你可以做成一个脚本,再建立一个快捷方式,就可以很方便的启动文件分享了。如果有更多需求,完全可以根据自己需要定制,具体的请参见官方文档SimpleHTTPServer,或者直接看源码。我拷贝一段,方便参考:
import SimpleHTTPServer
import SocketServer
PORT = 8000
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
print "serving at port", PORT
httpd.serve_forever()
如果你想改变端口号,你可以使用如下的命令:
python -m SimpleHTTPServer 8080
如果你只想让这个HTTP服务器服务于本地环境,那么,你需要定制一下你的Python的程序,下面是一个示例:
import sys
import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
HandlerClass = SimpleHTTPRequestHandler
ServerClass = BaseHTTPServer.HTTPServer
Protocol = "HTTP/1.0"
if sys.argv[1:]:
port = int(sys.argv[1])
else:
port = 8000
server_address = ('127.0.0.1', port)
HandlerClass.protocol_version = Protocol
httpd = ServerClass(server_address, HandlerClass)
sa = httpd.socket.getsockname()
print "Serving HTTP on", sa[0], "port", sa[1], "..."
httpd.serve_forever()
注意:所有的这些东西都可以在 Windows 或 Cygwin 下工作。
您可能感兴趣的文章:
⑹ linux下终端python -m SimpleHTTPServer 80没用
请使用python3
python3 -m http.server
代替
python3 内置
⑺ Linux中用python -m SimpleHTTPServer 无法实现文件共享
你是在VMWare虚拟机中运行Linux,那么要在VMWare中设置虚拟机的网卡为桥接模式,或者你设置好8000端口NAT.