Python 3 tương đương với python -m SimpleHTTPServercái gì?
Python 3 tương đương với python -m SimpleHTTPServercái gì?
Câu trả lời:
Từ các tài liệu :
Các
SimpleHTTPServermô-đun đã được sáp nhập vàohttp.serverbằ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 --helpcho 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
pythonvà Python3 python3nhưng một số thích cài đặt Python3 đơn giản như python.
pythontheo 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 8080nế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 -bhoặc --bindgắ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 pythonthay vì python3sử dụng Python 3.
python -m CGIHTTPServerlàpython3 -m http.server --cgi.