Qu'est-ce que L'équivalent Python 3 de " python-m SimpleHTTPServer"

Qu'est-ce que L'équivalent Python 3 de python -m SimpleHTTPServer ?

808
demandé sur Adexe Rivera 2011-10-30 11:22:49

6 réponses

à Partir de les docs :

le module SimpleHTTPServer a été fusionné dans http.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 .

1146
répondu Petr Viktorin 2016-10-03 08:44:59

l'équivalent est:

python3 -m http.server
175
répondu Greg Hewgill 2011-10-30 07:27:48

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
111
répondu shantanoo 2013-06-27 19:16:32

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.

29
répondu Eswar Yaganti 2017-09-11 18:44:34

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.

4
répondu Darius Morawiec 2017-10-05 22:32:20

la commande python -m SimpleHTTPServer est pour Linux. Utiliser la commande python -m http.server 7777 pour Windows

-21
répondu Siddhesh Andhari 2017-04-14 21:24:40