⑴ 如何用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.