Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ouvrir un programme avec python

    8 juillet 2019 à 12:49:50

    Bonjour,

    je voudrais ouvrir un programme avec python , je me suis renseigné sur la question et deux méthodes ressortent. Soit je dois utiliser la fonction subprocess.Popen soit os.exec, seulement malgré pas mal de recherches sur ces deux fonctions je ne vois pas ce qu'il faut mettre en argument . Je pensais d'abord que le simple chemin d'accès jusqu'au programme suffirait, j'ai donc fais ce code :

    import subprocess
    subprocess.Popen("A/B/C")

    Mais j'obtiens l'erreur suivante :

    FileNotFoundError: [WinError 2] Le fichier spécifié est introuvable

    Je dois donc me tromper au niveau des arguments à entrer dans Popen mais dans la documentation de subprocess je ne comprend pas bien comment l'utiliser. Voilà si quelqu'un pourrait m'expliquer ou même me proposer une autre méthode pour ouvrir un programme :)

    • Partager sur Facebook
    • Partager sur Twitter
      8 juillet 2019 à 13:25:30

      Bonjour. Si on te dis que le fichier est introuvable, peut-être est-ce parce que tu t'es trompé dans le chemin ? Tu devrais vérifier ce chemin par un autre moyen que subprocess pour voir si le problème vient de là.

      Tu peux aussi utiliser os.system("chemin vers le programme") si subprocess n'est pas indispensable.

      • Partager sur Facebook
      • Partager sur Twitter
        8 juillet 2019 à 14:04:03

        Subprocess est mieux. Et ton code python fonctionne puisque tu as le retour de windows qui dit que le fichier n'existe pas.

        Tu dois :

        - Vérifier que la commande fonctionne dans la console windows

        - Si ça ne marche pas, mettre le chemin absolu (et non relatif) du programme. Par ex :

        subprocess.Popen(r"C:/A/B/C.exe")



        • Partager sur Facebook
        • Partager sur Twitter
          15 juillet 2019 à 22:57:34

          Merci , je ne comprend pas ce que tu veux dire par "Vérifier que la commande fonctionne dans la console windows", subprocess n'est pas un module dédié uniquement à python ?

          Aussi j'ai bien mis le chemin absolu du programme seulement lorsque je l'exécute , une nouvelle erreur apparaît :

          "OSError: [WinError 193] %1 n’est pas une application Win32 valide"

          Apparement c'est parce que le programme que je veux ouvrir n'est pas un exécutable (en effet il est de la forme programme.py). Est-ce de le passer en .exe qui va résoudre le problème ?

          • Partager sur Facebook
          • Partager sur Twitter
            16 juillet 2019 à 0:30:54

            Renommer le fichier ne change rien au fait qu'il soit exécutable ou pas, l'extension est juste une partie du nom de fichier, la changer ne modifie pas les propriétés du fichier.

            Si tu veux exécuter un fichier .py qui n'est pas exécutable, tu peux juste le passer en argument à l'interpréteur Python :

            python C:/chemin/vers/fichier.py


            En exécutant ta commande dans une console Windows (cmd ou powershell), tu aurais pu voir que ça ne marchait pas avant même d'écrire le code Python. C'est ce que thelinekioubeur voulait dire.

            -
            Edité par LoupSolitaire 16 juillet 2019 à 0:31:31

            • Partager sur Facebook
            • Partager sur Twitter

            Blond, bouclé, toujours le sourire aux lèvres...

            Ouvrir un programme avec python

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            • Editeur
            • Markdown