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 :

Ouvrir programme depuis double clique sur fichier


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Apprenti dev Python
    Inscrit en
    août 2021
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti dev Python

    Informations forums :
    Inscription : août 2021
    Messages : 25
    Points : 14
    Points
    14
    Par défaut Ouvrir programme depuis double clique sur fichier
    bonjour,
    je cherche à savoir comment exécuter du code en double cliquant sur un fichier ayant une extension précise.

    exemple concret:
    Tous les fichiers ayant comme extension ".myextension" éxecute une fonction quand ils sont double cliqué

    Merci d'avance
    Dymon

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2006
    Messages
    10 406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2006
    Messages : 10 406
    Points : 28 290
    Points
    28 290
    Billets dans le blog
    1
    Par défaut
    Bonjour

    C'est l'OS qui gère l'association "extension => exécutable". Sous Windows, quand tu cliques sur un fichier d'association inconnue, il ouvre une fenêtre te demandant à quel programme associer cette extension et ensuite c'est enregistré dans la base de registres.
    Et donc tout ça n'a absolument rien à voir avec Python.
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site

  3. #3
    Membre éprouvé Avatar de LeNarvalo
    Homme Profil pro
    Amateur Python
    Inscrit en
    février 2014
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Amateur Python
    Secteur : Santé

    Informations forums :
    Inscription : février 2014
    Messages : 545
    Points : 907
    Points
    907
    Par défaut
    @Sve@r Pourquoi tu parles de python ?









  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2006
    Messages
    10 406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2006
    Messages : 10 406
    Points : 28 290
    Points
    28 290
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par LeNarvalo Voir le message
    Pourquoi tu parles de python ?
    Ben... parce que c'est le forum dans lequel se trouve cette discussion. Elle est donc censée parler de Python...
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site

  5. #5
    Membre éprouvé Avatar de LeNarvalo
    Homme Profil pro
    Amateur Python
    Inscrit en
    février 2014
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Amateur Python
    Secteur : Santé

    Informations forums :
    Inscription : février 2014
    Messages : 545
    Points : 907
    Points
    907
    Par défaut
    Et donc si on parle d'anaconda on a pas le droit ?

    Au delà de la blague, je découvre l'existence d'Anaconda :
    Nom : images.jpg
Affichages : 94
Taille : 5,9 Ko

  6. #6
    Membre à l'essai
    Homme Profil pro
    Apprenti dev Python
    Inscrit en
    août 2021
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti dev Python

    Informations forums :
    Inscription : août 2021
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Tout d'abord, merci pour vos réponses et désolé pour le retard,
    mais quand j'ouvre mon fichier en double cliquant j'obtient cette erreur
    Nom : Screenshot_21.png
Affichages : 74
Taille : 40,9 Ko
    merci d'avance pour vos réponses
    Dymon

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    juin 2008
    Messages
    19 595
    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 : 19 595
    Points : 33 858
    Points
    33 858
    Par défaut
    Citation Envoyé par dymon2021 Voir le message
    merci d'avance pour vos réponses
    Le programme s'ouvre bien sinon il ne planterait pas
    Après, il faut voir ce que fait le code... mais vu le message d'erreur, il ne trouve pas le fichier .ico. Sans doute parce qu'avec un double-click le répertoire par défaut n'est plus celui du script.

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

  8. #8
    Membre éprouvé Avatar de LeNarvalo
    Homme Profil pro
    Amateur Python
    Inscrit en
    février 2014
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Amateur Python
    Secteur : Santé

    Informations forums :
    Inscription : février 2014
    Messages : 545
    Points : 907
    Points
    907
    Par défaut
    Wiz qui fait de l'humour ! ❌🗓️

    Ton script fonctionne sous IDLE (par ex.) sinon ?

  9. #9
    Membre à l'essai
    Homme Profil pro
    Apprenti dev Python
    Inscrit en
    août 2021
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti dev Python

    Informations forums :
    Inscription : août 2021
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par LeNarvalo Voir le message
    Ton script fonctionne sous IDLE (par ex.) sinon ?
    Oui, il fonctionne avec tkinter.

    Donc, Que dois je faire pour que mon script ne génère pas d'erreur et est le bon répertoire

    Merci d'avance.
    Dymon

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    juin 2008
    Messages
    19 595
    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 : 19 595
    Points : 33 858
    Points
    33 858
    Par défaut
    Citation Envoyé par dymon2021 Voir le message
    Donc, Que dois je faire pour que mon script ne génère pas d'erreur et est le bon répertoire
    Récupérer le nom du répertoire du script principal depuis la variable __file__.

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

  11. #11
    Membre à l'essai
    Homme Profil pro
    Apprenti dev Python
    Inscrit en
    août 2021
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti dev Python

    Informations forums :
    Inscription : août 2021
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Pouvez vous m'envoyer un exemple de code s'il vous plaît ?

  12. #12
    Membre émérite Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    septembre 2013
    Messages
    1 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : septembre 2013
    Messages : 1 382
    Points : 2 924
    Points
    2 924
    Par défaut
    bonjour

    tu pousses un peu ici

    Si tu as écrit ton application, tu sais écrire 3 mots en python, tout a été dit par wiztricks

    1) tu récupères le répertoire de la variable __file__ (une fonction os.xxxx)
    2) tu ajoutes ce répertoire à ton nom d'icone (pour avoir un chemin absolu depuis ton fichier main, et non relatif au répertoire courant de l'utilisateur)
    $moi= ( !== ) ? : ;

  13. #13
    Membre à l'essai
    Homme Profil pro
    Apprenti dev Python
    Inscrit en
    août 2021
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti dev Python

    Informations forums :
    Inscription : août 2021
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Je suis désolé,
    Mais je ne sais pas comment utiliser la méthode "__file__", je ne suis pas très familier avec le module os.

    Mon but est d'ouvrir un fichier exécutable par exemple "MonApplication.exe" réalisé a partir d'un fichier python convertit par auto-py-to-exe.
    Je veux donc que mon application "MonApplication.exe" s'ouvre et récupère le chemin du fichier "test.extension" et l'enregistre dans une variable, par exemple "chemin_fichier" afin que mon application puisse traiter le fichier de la même manière que si on l'ouvre depuis "askopenfilename" par exemple.

    Je ne demande rien de plus que ce que fait n'importe quel application traitant des fichiers.
    Si on double clic sur un fichier PDF, l'application Acrobat Reader DC va s'ouvrir. Je voudrais la même chose !

  14. #14
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    juin 2008
    Messages
    19 595
    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 : 19 595
    Points : 33 858
    Points
    33 858
    Par défaut
    Salut,

    Citation Envoyé par dymon2021 Voir le message
    Mon but est d'ouvrir un fichier exécutable par exemple "MonApplication.exe" réalisé a partir d'un fichier python convertit par auto-py-to-exe.!
    Si c'est votre but, ouvrez la documentation d'auto-py-to-exe pour voir comment y intégrer des fichiers de données et y accéder.
    note: __file__ ne fonctionnera pas ici... Pour le coup, vous avez soumis 3 problèmes différents depuis le début de la discussion: apprenez à être plus précis, car on ne peut vous aider qu'à partir les indications que vous donnez, sinon c'est "gigo" - garbage in, garbage out... on perd notre temps et ça ne vous avance pas.

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

  15. #15
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2006
    Messages
    10 406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2006
    Messages : 10 406
    Points : 28 290
    Points
    28 290
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par dymon2021 Voir le message
    Mais je ne sais pas comment utiliser la méthode "__file__"
    Ce n'est pas une méthode mais une variable. Donc tu fais print(__file__) et tu regardes ce que ça fait et tu en tires tes conclusions.

    Citation Envoyé par dymon2021 Voir le message
    je ne suis pas très familier avec le module os.
    Oui ben ça s'apprend comme le reste. Tu prends la doc et tu la lis. Et si tu as envie de tester certains exemples, surtout ne t'imagine pas que Python sera vexé.

    Citation Envoyé par dymon2021 Voir le message
    Je veux donc que mon application "MonApplication.exe" s'ouvre et récupère le chemin du fichier "test.extension" et l'enregistre dans une variable, par exemple
    Comment a été prévu ce fichier "test.extension" ? Codé en dur ? Choisi par l'utilisateur ? Dans les deux cas tu as déjà le fichier et de là le chemin. Si le chemin est relatif il est relatif à ta position quand tu lances le programme donc suffit de rajouter ta position à son nom pour avoir le chemin complet. Et si le chemin est absolu, alors la question ne se pose même pas, le chemin est déjà dans le nom.

    Citation Envoyé par dymon2021 Voir le message
    Si on double clic sur un fichier PDF, l'application Acrobat Reader DC va s'ouvrir. Je voudrais la même chose !
    Mauvais exemple. Quand on clique sur un ".exe" (ta phrase précédente), on demande à l"OS d'exécuter directement le programme. Quand on clique sur un PDF, on demande à l'OS d'exécuter le programme associé à l'extension PDF. Il faut déjà avoir alors indiqué à ton OS quel est le programme prévu pour telle ou telle extension car ce n'est pas gravé dans le marbre. Par exemple chez-toi les PDF c'est Acrobat Reader (usine à gaz ignoble qui pèse 114Mo dont 100 qui servent à on ne sait quoi) tandis que chez-moi c'est SumatraPDF (super léger, super rapide, qui pèse 7Mo). Donc à ce moment là, l'OS t'offre cette facilité de pouvoir cliquer sur un fichier au lieu de devoir cliquer sur le programme permettant d'ouvrir le fichier. Et quoi qu'il en soit, là on n'est plus dans Python.
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site

  16. #16
    Membre à l'essai
    Homme Profil pro
    Apprenti dev Python
    Inscrit en
    août 2021
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti dev Python

    Informations forums :
    Inscription : août 2021
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Désolé de vous avoir fait perdre votre temps.

Discussions similaires

  1. Ouvrir une form a partir dun double clique sur datagrid
    Par moonshine972 dans le forum Windows Presentation Foundation
    Réponses: 20
    Dernier message: 21/04/2011, 11h58
  2. ouverture d'un programme par double clic sur un fichier
    Par zieg18 dans le forum Visual C++
    Réponses: 6
    Dernier message: 12/07/2006, 10h02
  3. Associer un clique et un double clique sur une listebox
    Par mcdonald dans le forum Tkinter
    Réponses: 3
    Dernier message: 10/06/2006, 16h57
  4. Evenement double clique sur jTable
    Par oOoOuuhmAn dans le forum Composants
    Réponses: 20
    Dernier message: 08/03/2006, 12h05
  5. [VB]Double clique sur liste...
    Par STRUFIELD dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/01/2006, 13h43

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