[python] “python -m SimpleHTTPServer”와 동등한 Python 3은 무엇입니까

파이썬 3은 무엇입니까 python -m SimpleHTTPServer?



답변

에서 워드 프로세서 :

SimpleHTTPServer모듈은 http.serverPython 3.0에서 병합되었습니다 . 2to3 도구는 소스를 3.0으로 변환 할 때 가져 오기를 자동으로 조정합니다.

따라서 명령은 python -m http.server또는 설치에 따라 다음과 같습니다.

python3 -m http.server


답변

이에 상응하는 내용은 다음과 같습니다.

python3 -m http.server


답변

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 3을 사용 하는 대신 사용할 수 있기 때문에 conda 환경을 통해 Python 버전을 제어 합니다.pythonpython3


답변