Comment exécuter un programme python reçu par un client du serveur sans l'écrire dans un nouveau fichier python?programmation réseau en python
Répondre
code = "for a in range(10):\n\tprint 'lol'\n"
eval(compile(code, 'downloaded_code_fake_filename', 'exec'))
mais attention aux problèmes de sécurité! Le code source doit être signé cryptographiquement et non transmis en clair.
code = "pour un intervalle compris entre (10): \ n \ tprint 'lol' \ n" eval (compile (code, 'code-téléchargé_fichier_fichier', 'exec')) ne l'a pas compris. pourriez-vous expliquer un peu? –
@Ani: Dans sa réponse @BatchyX a donné un exemple de la façon d'exécuter le code que vous recevez d'un client. 'code' est un exemple de fragment de code; copiez-le sur IDLE et imprimez-le pour voir à quoi il ressemble. 'eval' est une fonction intégrée qui évalue l'extrait de code assigné à la variable' code'. Voir les documents: http://docs.python.org/library/functions.html#eval –
est la fonction exec obsolète? Ne pourrait-il pas simplement 'exec (code)'? – Manux
voir http://docs.python.org/py3k/library/functions.html#exec pour la fonction exec()
. il n'est pas déprécié dans py3.1. Je recommande de faire simplement exec(code)
. Les valeurs peuvent être transmises par l'inspection des variables soit dans le dictionnaire globals ou les habitants:
code = """
def f(): return 42
R = f()
"""
d = {}
exec(code, d)
print(d[ 'R' ])
Je vous recommande d'utiliser execnet. C'est bien supporté et d'après ce que j'ai lu beaucoup plus sûr qu'un exec ou eval brut. Pour ce que vous essayez de faire, consultez le basic examples.
brillant! et un moyen intéressant et utile de faire du traitement distribué/agent en python. – user106514
La réponse de Dcolish est bonne. Je ne suis pas sûr que l'idée d'exécuter du code sur une interface réseau soit bonne en soi, mais vous devrez vérifier que vous pouvez faire confiance à l'expéditeur, surtout si cette interface va être exposée à Internet ou vraiment tout réseau de production.
- 1. Programmation réseau?
- 2. programmation réseau
- 3. Linux \ BSD Programmation réseau
- 4. Programmation réseau avec C#
- 5. GUI en programmation python
- 6. C++ programmation réseau asynchrone
- 7. Winsock: programmation réseau Windows en C++
- 8. programmation réseau paquet udp
- 9. python programmation Gnutella
- 10. comment démarrer dans la programmation réseau p2p?
- 11. C# Programmation réseau - HTTPWebRequest Scraping
- 12. Programmation asynchrone en Python Twisted
- 13. Programmation relationnelle/logique en Python?
- 14. Programmation Python
- 15. Récupération du masque réseau en Python
- 16. Choix de l'interface réseau multidiffusion en Python
- 17. Réseau IPC avec authentification (en Python)
- 18. Programmation réseau Actionscript 3.0 avec C#
- 19. Programmation réseau et utilisation des ressources en C#
- 20. Programmation d'une puce neuronale sur le réseau
- 21. Alignement des données avec la programmation réseau
- 22. Programmation du socket serveur client en Python
- 23. Solveur de programmation linéaire binaire en Python
- 24. Programmation Android Python
- 25. Python: Programmation 8051
- 26. Programmation réseau Android: IOExceptions et StackOverflowError
- 27. Ressources de programmation réseau Android (Java)
- 28. programmation Python aide
- 29. partages réseau inscripteur avec python
- 30. Python: problème de réseau pynotify
Je suis curieux de savoir pourquoi vous devez faire cela. Vous voulez élaborer? –