Python 3 ที่เทียบเท่าpython -m SimpleHTTPServer
คืออะไร
Python 3 ที่เทียบเท่าpython -m SimpleHTTPServer
คืออะไร
คำตอบ:
จากเอกสาร :
SimpleHTTPServer
โมดูลได้รับการรวมเข้าไปhttp.server
ในหลาม 3.0 เครื่องมือ 2to3 จะปรับการนำเข้าโดยอัตโนมัติเมื่อแปลงแหล่งข้อมูลของคุณเป็น 3.0
ดังนั้นคำสั่งของคุณคือpython -m http.server
หรือขึ้นอยู่กับการติดตั้งของคุณก็สามารถ:
python3 -m http.server
python3 -m http.server --help
สำหรับ args & options ทั้งหมด
python -m http.server
ทำงานให้ฉัน ฉันต้องลบ3
python
และ Python3 เป็นpython3
แต่บางคนชอบที่จะติดตั้ง Python3 python
เป็นเพียง
python
ตามค่าเริ่มต้น แต่คำถามสำหรับpython3
:)
เทียบเท่าคือ:
python3 -m http.server
python3 -m http.server 8080
ถ้าคุณต้องผูกกับพอร์ต อ่านเพิ่มเติมในตอนท้ายของส่วน: docs.python.org/3/library/…
python3 -m http.server --help
รายละเอียด
ใช้ยูทิลิตี้ 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
นอกเหนือจากคำตอบของ Petr หากคุณต้องการผูกกับอินเตอร์เฟสเฉพาะแทนอินเตอร์เฟสทั้งหมดที่คุณสามารถใช้-b
หรือ--bind
ตั้งค่าสถานะ
python -m http.server 8000 --bind 127.0.0.1
ตัวอย่างข้างต้นควรทำเคล็ดลับ 8000 คือหมายเลขพอร์ต 80 ใช้เป็นพอร์ตมาตรฐานสำหรับการสื่อสาร HTTP
ในหนึ่งในโครงการของฉันฉันรันการทดสอบกับ Python 2 และ 3 เพื่อที่ฉันจะเขียนสคริปต์ขนาดเล็กที่เริ่มต้นเซิร์ฟเวอร์ภายในอิสระ
$ 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 ...
เป็นนามแฝง:
$ 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 ...
โปรดทราบว่าฉันควบคุมเวอร์ชัน Python ของฉันผ่านสภาพแวดล้อม condaเพราะฉันสามารถใช้python
แทนpython3
การใช้ Python 3
python -m CGIHTTPServer
python3 -m http.server --cgi