Python 3 tương đương với python -m SimpleHTTPServer
cái gì?
Python 3 tương đương với python -m SimpleHTTPServer
cái gì?
Câu trả lời:
Từ các tài liệu :
Các
SimpleHTTPServer
mô-đun đã được sáp nhập vàohttp.server
bằng Python 3.0. Công cụ 2to3 sẽ tự động điều chỉnh nhập khẩu khi chuyển đổi nguồn của bạn thành 3.0.
Vì vậy, lệnh của bạn là python -m http.server
, hoặc tùy thuộc vào cài đặt của bạn, nó có thể là:
python3 -m http.server
python3 -m http.server --help
cho tất cả các đối số và tùy chọn.
python -m http.server
đã làm cho tôi. Tôi đã phải xóa3
python
và Python3 python3
nhưng một số thích cài đặt Python3 đơn giản như python
.
python
theo mặc định. Nhưng, câu hỏi là dành cho python3
:)
Tương đương là:
python3 -m http.server
python3 -m http.server 8080
nếu bạn cần liên kết với một cổng. Đọc thêm ở phần cuối của phần này: docs.python.org/3/library/...
python3 -m http.server --help
để biết chi tiết.
Sử dụng tiện ích 2to3.
$ cat try.py
import SimpleHTTPServer
$ 2to3 try.py
RefactoringTool: Skipping implicit fixer: buffer
RefactoringTool: Skipping implicit fixer: idioms
RefactoringTool: Skipping implicit fixer: set_literal
RefactoringTool: Skipping implicit fixer: ws_comma
RefactoringTool: Refactored try.py
--- try.py (original)
+++ try.py (refactored)
@@ -1 +1 @@
-import SimpleHTTPServer
+import http.server
RefactoringTool: Files that need to be modified:
RefactoringTool: try.py
Ngoài câu trả lời của Petr, nếu bạn muốn liên kết với một giao diện cụ thể thay vì tất cả các giao diện bạn có thể sử dụng -b
hoặc --bind
gắn cờ.
python -m http.server 8000 --bind 127.0.0.1
Đoạn trích trên nên làm thủ thuật. 8000 là số cổng. 80 được sử dụng làm cổng tiêu chuẩn cho truyền thông HTTP.
Trong một trong các dự án của tôi, tôi chạy thử nghiệm với Python 2 và 3. Vì vậy, tôi đã viết một tập lệnh nhỏ khởi động máy chủ cục bộ một cách độc lập:
$ python -m $(python -c 'import sys; print("http.server" if sys.version_info[:2] > (2,7) else "SimpleHTTPServer")')
Serving HTTP on 0.0.0.0 port 8000 ...
Như một bí danh:
$ alias serve="python -m $(python -c 'import sys; print("http.server" if sys.version_info[:2] > (2,7) else "SimpleHTTPServer")')"
$ serve
Serving HTTP on 0.0.0.0 port 8000 ...
Xin lưu ý rằng tôi kiểm soát phiên bản Python của mình thông qua môi trường conda , vì điều đó tôi có thể sử dụng python
thay vì python3
sử dụng Python 3.
python -m CGIHTTPServer
làpython3 -m http.server --cgi
.