[Python] Modifier des fonctions pendant le programme
|
10-12-2012, 12h14
Message : #1
|
|
InstinctHack
Posting Freak Messages : 1,366 Sujets : 184 Points: 299 Inscription : Dec 2011 |
[Python] Modifier des fonctions pendant le programme
Bonjour à tous
Je m'amuse de nouveau avec mon bot irc, mais ça commencer à me taper sur le système de devoir reload à chaque modif, j'aimerais donc pouvoir surcharger les fonctions dans le temps. Je n'ai pas trouver de solution sur internet, alors j'ai commencer à bidouiller un script... Code PYTHON :
Mon fichier lib.py Code PYTHON :
Donc résultat c'est fonctionnel la fonction change bien, mais il faut qu'elle soit dans le fichier lanceur, donc c'est pas ce que je veut, je n'ai pas réussit à utiliser eval et del ne semble pas marcher... Avez-vous une idée pour pouvoir faire ça ? Citation :un jour en cours de java j'ai attrapé les seins d'une fille mais elle m'a frappé en disant "c'est privé !!" |
|
10-12-2012, 12h21
Message : #2
|
|
supersnail
Éleveur d'ornithorynques Messages : 1,609 Sujets : 71 Points: 465 Inscription : Jan 2012 |
RE: [Python] Modifier des fonctions pendant le programme
Personnellement, je ne pense pas que tu puisses relancer le mainfile directement...
Pour ma part (ce que j'ai fait avec Canard_WC & ProjectBot) c'est un core qui se contente juste de gérer la connexion au serveur IRC, de recevoir les messages, les envoyer et de dispatch des évènements lorsqu'un message est reçu/envoyé/etc. Toutes les features du bot se retrouvent donc dans des fichiers séparés, contenant une fonction module_init chargée d'enregistrer un callback pour les évènements à traiter, et une fonction module_unload qui va supprimer les callback enregistrés par module_init. Ainsi module_init se retrouve appelé après le chargement du module, et module_unload appelé avant le déchargement du module (et je définis une liste de modules à charger au démarrage du bot)
Mon blog
Code : push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp "VIM est merveilleux" © supersnail |
|
10-12-2012, 19h58
Message : #3
|
|
spin
Contributeur Messages : 325 Sujets : 15 Points: 38 Inscription : Nov 2011 |
RE: [Python] Modifier des fonctions pendant le programme
Il existe des techniques pour faire du hot swaping (modifier du code à chaud), si c'est ce que tu cherches à faire, et certains langage le permettent même nativement. Python n'a pas l'air d'en faire partie, néanmoins après une petit recherche j'ai trouvé des trucs éventuellement intéressants :
Un topic sur StackExchange où l'OP propose une solution : http://stackoverflow.com/questions/67512...ng-program (la dernière réponse peut aider je pense). Un module Python pour gérer le hot swapping : http://pypi.python.org/pypi/hotswap/0.1 |
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
[Python]Situer mon niveau. | InforMods | 19 | 937 |
10-11-2016, 00h03 Dernier message: ZeR0-@bSoLu |
|
[PYTHON] un bot IRC basique | darcosion | 1 | 136 |
13-06-2016, 20h40 Dernier message: Yttrium |
|
[python] ANBU ::: TCP Session Hunter | St0rn | 2 | 222 |
25-02-2016, 18h45 Dernier message: otherflow |
|
[Python] Une autre façon de gérer les Virtualenv et Packages | thxer | 2 | 117 |
18-01-2016, 12h06 Dernier message: thxer |
|
[Python] rot script | ark | 9 | 425 |
08-03-2015, 00h37 Dernier message: ark |
|
[Python] Todo Manager | ark | 5 | 342 |
03-03-2015, 10h55 Dernier message: ark |
|
[python] Un décorateur pour inventorier les objets | b0fh | 1 | 156 |
04-12-2014, 17h50 Dernier message: thxer |
|
[python] UPnP Scanner | St0rn | 2 | 176 |
29-10-2014, 14h50 Dernier message: St0rn |
|
[python] Buffer Overflow : EBP et EIP | St0rn | 0 | 123 |
25-10-2014, 12h58 Dernier message: St0rn |
|
[Python] QuickHex | thxer | 9 | 417 |
15-08-2014, 20h26 Dernier message: sakiir |
Utilisateur(s) parcourant ce sujet : 1 visiteur(s)