Salut,
Je glandouille cet après-midi. Ne sachant pas quoi coder, je regarde ma longue TODO-list que je remplis chaque jour des idées de projets que j'ai. Et là, je tombe sur "Librairie capable d'importer du code en ligne". Cette idée peut paraître toute bête mais je n'ai jamais vu d'équivalents sur le Net. Pourtant ça me paraît une bonne idée du moins pour les petits script ne cherchant pas les performances (le temps de récupérer le code ça prend quelques millisecondes). Je me suis donc lancé sans trop savoir comment faire, j'ai tenté un truc désespéré mais contre toute attente ça marchait ! Et le tout en 2 minutes et 6 lignes de code Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 | import urllib.request def tele_import(url): code = urllib.request.urlopen(url).read().decode('utf-8') class Module: exec(code) return Module module = tele_import('http://www.telecode.esy.es/factorial.py') # Un mini site créé pour l'occasion print(module.factorial(5)) # Affiche 120 ! |
Je ne vois quelques trucs qui manquent à ce système:
-
Il faudrait pouvoir dire ce qu'on peut importer donc séparer API publique et privée depuis le script en lignes
-
La syntaxe est crado
-
Le code est crado (on peut pas importer de module depuis le scope global dans le script en ligne)
-
On peut pas faire de
from <module> import *
ni defrom <module> import <objet>
Avant que je me lance dans la création d'une vraie librairie plus soignée, je voudrais connaître votre avis. Une si bonne idée (enfin je crois) doit forcément avoir un inconvénient pour ne pas avoir été déjà réalisée…
Merci d'avance,
AZ.