Qu'est-ce que L'équivalent Python 3 de " python-m SimpleHTTPServer"
Qu'est-ce que L'équivalent Python 3 de python -m SimpleHTTPServer
?
6 réponses
à Partir de les docs :
le module
SimpleHTTPServer
a été fusionné danshttp.server
en Python 3.0. L'outil 2to3 adaptera automatiquement les importations lors de la conversion de vos sources à 3.0.
donc, votre commande est python3 -m http.server
.
utilisant l'utilitaire 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
en plus de la réponse de Petr, si vous voulez vous lier à une interface spécifique au lieu de toutes les interfaces, vous pouvez utiliser-b/--bind flag.
python -m http.server 8000 --bind 127.0.0.1
L'extrait ci-dessus devrait faire l'affaire. 8000 est le numéro de port. 80 est utilisé comme port standard pour les communications HTTP.
dans un de mes projets, j'exécute des tests contre Python 2 et 3. Pour cela j'ai écrit un petit script qui démarre un serveur local indépendamment:
$ 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 ...
comme alias:
$ 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 ...
veuillez noter que je contrôle ma version Python via environnements conda , à cause de cela je peux utiliser python
au lieu de python3
pour utiliser Python 3.
la commande python -m SimpleHTTPServer
est pour Linux. Utiliser la commande python -m http.server 7777
pour Windows