Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Discussion: ligne de commande

  1. #1
    Invité de passage
    Inscrit en
    janvier 2013
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : janvier 2013
    Messages : 5
    Points : 0
    Points
    0

    Par défaut ligne de commande

    bonjour,

    je débute sur python et je crée une interface graphique pour un logiciel. Ainsi, je souhaiterai faire une invite de commande. En effet, je peux lancer mon programme depuis cmd.exe
    Voici ma commande:
    rnx2rtkp -p 3 -f 1 -t -e -o C:\Documents and Settings\user\Bureau\result.txt D:\parfait_max_rom\test\obs_man_3h.13o D:\parfait_max_rom\test\obs_arna_3h.13o D:\parfait_max_rom\test\brdc0060.13n"

    Cette commande traite des fichiers en entrée et génère un fichier .txt en sortie.
    Pour utiliser celle-ci depuis Python&Tkinter, j'ai essayé d'utiliser os.system("ma commande ci-dessus"). Python me renvoie en 0 dans le shell, donc pas de message d'erreur a priori mais mon .txt n'est pas créé.

    Pourriez vous m'aider svp.
    merci

  2. #2
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    5 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 284
    Points : 7 357
    Points
    7 357

    Par défaut

    Salut,
    A première vue, la commande:
    rnx2rtkp -p 3 -f 1 -t -e -o C:\Documents and Settings\user\Bureau\result.txt D:\parfait_max_rom\test\obs_man_3h.13o D:\parfait_max_rom\test\obs_arna_3h.13o D:\parfait_max_rom\test\brdc0060.13n
    est une chaine de caractères.
    Lorsque vous la rentrez telle que dans Python, celui ci va interpréter les "\" comme caractère d’échappement (à la C). Dans votre cas, les séquences \x que j'ai marqué en "gras" seront "transformées" et çà va planter.

    Dans votre script Python définissez la chaîne de caractère ainsi
    Code :
    commande = r"rnx2rtkp -p 3 -f 1 -t -e -o C:\Documents and Settings\user\Bureau\result.txt D:\parfait_max_rom\test\obs_man_3h.13o D:\parfait_max_rom\test\obs_arna_3h.13o D:\parfait_max_rom\test\brdc0060.13n"
    ou doublez les \:
    Code :
    commande = "rnx2rtkp -p 3 -f 1 -t -e -o C:\\Documents and Settings\\user\\Bureau\\result.txt D:\\parfait_max_rom\\test\\obs_man_3h.13o ..."
    - W
    Architectures Post-Modernes

  3. #3
    Membre éclairé Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    juin 2010
    Messages
    688
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : juin 2010
    Messages : 688
    Points : 397
    Points
    397

    Par défaut

    La commande system.command est deprecate il faut utilser subprocess a la place:

    extrait de la doc python system.command():
    The subprocess module provides more powerful facilities for spawning new processes and retrieving their results; using that module is preferable to using this function. See the Replacing Older Functions with the subprocess Module section in the subprocess documentation for some helpful recipes.

    Availability: Unix, Windows.
    Regarde ce liens vers la doc de python 2.7.3: http://docs.python.org/2/library/com...mmand#commands
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Blog: http://3dcyberspace.unblog.fr/
    Site: Sanctuaire cybernétique
    Site: 3dreaming-imaging.net

  4. #4
    Invité de passage
    Inscrit en
    janvier 2013
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : janvier 2013
    Messages : 5
    Points : 0
    Points
    0

    Par défaut

    merci pour vos réponse mon script marche nikel. J'ai pu attaquer la phase de développement, pour améliorer l'ergonomie de mon interface.

  5. #5
    Membre éclairé Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    juin 2010
    Messages
    688
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : juin 2010
    Messages : 688
    Points : 397
    Points
    397

    Par défaut

    Je suis content pour toi et persévère dans ta quête de python, bon python a toi.
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Blog: http://3dcyberspace.unblog.fr/
    Site: Sanctuaire cybernétique
    Site: 3dreaming-imaging.net

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •