IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

executer un morceau de texte ou intégrer avec cxFreeze ?


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Par défaut executer un morceau de texte ou intégrer avec cxFreeze ?
    Bonjour tous,

    Je suis en train de faire (avec cxFreeze) un "executable" pour des personnes qui n'ont pas python (et qui ne sont pas administrateurs: utilisation dans des salles informatiques) et j'ai un problème pour faire un truc pas très classique, d'où mon appel au secours

    Dans le fonctionnement classique, je leur donne "l’exécutable" et ils ont juste à exécuter ce programme (après avoir édité un fichier .txt) pour obtenir le résultat qu'ils attendent. Jusqu'à là pas de problèmes

    Par contre, pour utilisateurs avancés (ou curieux), j'aimerai leur laisser la possibilité de programmer eux même une des fonctions qui se trouverais dans un fichier "userFunction.py". Comme ils n'ont pas toujours (rarement) python à disposition dans les salles infos j'aimerais avoir un executable qui soit capable de comprendre ce qu'ils ont écrit et de l'executer

    Pour faire ceci j'ai identifié deux possibilités :
    1- mon executable doit être capable d'intégrer lui même le fichier "userFunction.py" pour faire un nouveau executable standalone (je ne vois pas du tout comme faire, ça doit surement se faire avec cxFreeze?)
    2- dans mon code il doit y avoir une fonction qui soit capable d'executer du code rentré dans un fichier texte, pour ça la fonction "eval" me semble très appropriée

    Que pensez vous de ces deux solutions ? la première me semble plus simple/direct mais je ne sais pas si c'est possible à faire ?

    au fait, pour ma culture, savez vous comment programmer soit même la fonction"eval()" ? ça doit être galère ??

    bonne journée et merci pour vos conseils

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Je ne te répondrai pas à propos de cxfreeze que je n'ai pas encore eu l'occasion d'utiliser mais de eval

    Je suppose que tu poses cette question pour une raison de sécurité et je pense que literal_eval devra te convenir.

    https://docs.python.org/3/library/as...t.literal_eval

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Par défaut
    en fait comme c'est deux méthodes que je n'ai jamais utilisé je voulais discuter de la pertinence des deux méthodes (et savoir si la première est possible?).

    je ne savais pas qu'il pouvait y avoir des problèmes de sécurité avec "eval()" (que je n'ai jamais utilisé) mais merci beaucoup pour l'info qui est très intéressante !!! Si j'opte pour la solution 2 je vais utiliser la fonction que tu m'as conseillé

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 762
    Par défaut
    Salut,

    Regardez aussi les modules qui permettent de créer/lancer un interpréteur interactif.
    Mais comme cela vous a été suggéré dans un autre post, Python sur clé USB c'est pas mal non plus dans ce cas là.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Par défaut
    merci tous pour les infos,
    je vais étudier toutes ces solutions
    à bientôt et merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. faire liaison Zone texte en VB6 avec cellule Excel
    Par brahime dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 21/05/2006, 21h25
  2. Changer la police d'un texte autrement qu'avec style
    Par Death83 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 14/03/2006, 13h45
  3. [CSS]Texte qui déborde avec IE6
    Par moscovisci dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 21/11/2005, 21h19
  4. Convertir un texte en OEM avec Notepad++
    Par Furius dans le forum Autres Logiciels
    Réponses: 17
    Dernier message: 17/10/2005, 13h18
  5. Texte en transparence avec TextOut
    Par TigreRouge dans le forum MFC
    Réponses: 2
    Dernier message: 06/06/2005, 22h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo