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 :

Comment travailler dans le répertoire de mon choix ?


Sujet :

Python

  1. #1
    Membre éclairé
    Inscrit en
    Mai 2009
    Messages
    587
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 587
    Par défaut Comment travailler dans le répertoire de mon choix ?
    Bonjour - bonsoir à tous.

    Je continue à apprendre en faisant des erreurs... J'essaie de développer une application qui comportera plusieurs fichiers. Et j'ai parfois besoin d'exécuter des petits bouts en interactif. J'ai donc créé un raccourci qui ouvre une fenêtre de python interactif. Mais elle s'ouvre dans le répertoire C:\windows\system32. Je n'arrive pas à trouver comment faire que le répertoire courant soit celui de mon application.

    Merci de votre aide.

    AMIcalement.

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 874
    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 : 12 874
    Billets dans le blog
    1
    Par défaut
    Bonjour

    C'est plus un souci lié à la manipulation de ton OS et de ton bureau que de Python.
    Normalement en faisant un clic droit sur ton raccourci ça ouvre le menu contextuel dans lequel il y a "propriété". Et dans ces propriétés de ton raccourci il y a un champ "démarrer dans".
    Mon Tutoriel sur la programmation «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
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2009
    Messages
    587
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 587
    Par défaut
    J'ai peur qu'on ait du mal à se comprendre. D'abord, je n'ai pas de raccourci : j'ai un répertoire dans lequel il y a un certain nombre de fichiers, essentiellement avec une extension ".py". C'est de ceux là que je parle : soit je clique du bouton droit et je sélectionne "ouvrir avec" et je choisis "python", sachant que le double-click, c'est l'édition. Mais si ça ne se passe pas comme prévu (en développement, ça arrive...) je voudrai l'ouvrir dans l'environnement de développement, et ce que je cherche, c'est à ce qu'il s'ouvre avec mon répertoire déjà sélectionné.

    Peut-être que je n'avais pas su être assez clair...

    AMIcalement.

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 874
    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 : 12 874
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par L'AMI Yves Voir le message
    Citation Envoyé par L'AMI Yves Voir le message
    J'ai donc créé un raccourci...
    D'abord, je n'ai pas de raccourci
    Hum...
    Citation Envoyé par L'AMI Yves Voir le message
    je voudrai l'ouvrir...
    là tu parles du fichier .py
    Citation Envoyé par L'AMI Yves Voir le message
    dans l'environnement de développement...
    quel environnement de développement utilises-tu ?
    Citation Envoyé par L'AMI Yves Voir le message
    c'est à ce qu'il s'ouvre avec mon répertoire déjà sélectionné.
    ce répertoire sélectionné, quel rôle a-t-il (ou doit-il avoir) quand tu ouvres ton ".py" ? A priori quand on ouvre un ".py" c'est pour le modifier, le recoder ou toute autre action de développement. Mais dans toutes ces actions, le répertoire n'a aucun effet...
    Mon Tutoriel sur la programmation «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
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2009
    Messages
    587
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 587
    Par défaut
    Dans mon répertoire de travail, j'ai mes fichiers source .py;

    Si je double-clic dessus, c'est pour les éditer. Si cela ne me convenait pas, je changerais, mais cela me convient : je développe.

    Mais il faut bien les faire tourner, sinon, à quoi cela servirait-il de développer ?.. Donc je clique du bouton droit, ouvrir avec... et je choisis Python.

    Mais, encore là, par ce que c'est "en développement", ça ne fait pas tout ce à quoi on s'attend, et pas toujours en expliquant bien pourquoi. On est bien toujours ensemble ?

    L'étape d'après, si je vis bien dans un monde réel, c'est de les faire tourner dans l'environnement "interactif", celui que l'on obtient en exécutant "py.exe" : cela ouvre une fenêtre de console, avec le prompt ">>>".

    Mais le répertoire par défaut, quand on en est là, c'est "c:\windows\windows32" du moins chez moi. Et l'idée, à ce moment là, ce serait d'aboutir dans le répertoire où sont logés mes fichiers source.

    Je suppose que tous ceux qui font du développement ont un jour ou l'autre été confrontés à cette question.

    Moi, aujourd'hui, je ne sais pas y répondre. Alors, je la pose sur le forum qui me parait le plus approprié.

    J'ai faux quelque part ?

    Je pose cette deuxième question.

    AMIcalement.

  6. #6
    Membre éclairé
    Inscrit en
    Mai 2009
    Messages
    587
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 587
    Par défaut
    Bon, c'est plus la peine de transpirer, je me répondqs à moi-même. C'est bien en effet une question d'une bonne utilisation de mon OS : j'ai bien créé un raccourci vers py.exe. Il suffit de cliquer dessus du bouton droit et de préciser le "répertoire par défaut"; J'ai testé : ça marche.

    Il n'y a donc plus de question.

    Merci de m'avoir lu (et parfois répondu).

    A bientôt.

    AMIcalement

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 874
    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 : 12 874
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par L'AMI Yves Voir le message
    j'ai bien créé un raccourci vers py.exe
    Effectivement je m'orientais aussi vers lui puisque c'est lui qui affiche la console avec les ">>>".

    Toutefois pour répondre à une de tes questions, non moi je n'ai jamais été confronté à ce souci puisque dans un projet je peux avoir mes sources dispatchés dans plusieurs dossiers et sous-dossiers mais surtout parce que l'emplacement où je me trouve quand je lance la console (ou quand un .py est exécuté) n'a en réalité aucune importance. Parce que principalement le travail de mes .py ne dépend pas de l'emplacement où ils se trouvent. S'ils doivent traiter un fichier, soit le nom du fichier est écrit en chemin absolu, soit il est construit à partir de dossiers spécifiques précisés dans un environnement de configuration, dossiers eux-aussi écrits en chemin absolus.
    Certes tous mes modules Python possèdent un bloc if __name__ == "__main__" permettant de les tester de façon individuelle et si le module a alors besoin de traiter un fichier, je positionne un fichier bidon au nom là encore absolu dans ce bloc.

    D'ailleurs même de façon plus générale, le dossier dans lequel se trouve un code Python (ou même un programme quel qu'il soit) n'a aucune importance car quand le code (ou le programme) est exécuté, il se repère non pas par rapport à son emplacement à lui mais par rapport à l'emplacement dans lequel se trouve l'utilisateur qui appelle le programme.
    Un exemple: tu crées un script "toto.py" qui contient print(os.getcwd()) et tu l'enregistres dans un dossier X (exemple sous C:\Temp si on imagine que ce dossier existe sous ta machine). Puis tu ouvres une console Dos (ou Powershell selon le cas), tu te déplaces où tu veux dans ton arbo (sauf sous C:\Temp bien évidemment car le but est justement de montrer que C:\Temp ne sera pas le dossier de référence) donc par exemple tu vas dans C:\Windows et là tu appelles python c:\Temp\toto.py. Et tu verras s'afficher alors le dossier dans lequel tu te trouves "C:\Windows". Le dossier C:\Temp qui contient "toto.py" ne sera même jamais vu nulle part dans le script.
    Mon Tutoriel sur la programmation «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
    Et on poste ses codes entre balises [code] et [/code]

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Citation Envoyé par L'AMI Yves Voir le message
    J'ai faux quelque part ?

    Je pose cette deuxième question.
    Il serait préférable de lancer un terminal (tel que cmd.exe) puis la commande py monscript.py (ou autre...).
    Ce qui aiderait à visualiser le message d'erreur et à lancer d'autres commandes.
    note: Le répertoire par défaut du raccourci de cmd.exe se fait de la même façon.

    Ceci dit, normalement on développe avec un IDE, boîte à outil plus ou moins sophistiquée utilisée par les programmeurs pour écrire et mettre au point leurs codes.

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

  9. #9
    Membre confirmé Avatar de scalpel
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Novembre 2008
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2008
    Messages : 157
    Par défaut
    Désolé si je m'introduit dans une discussion qui ne me concerne pas, mais si je met ceci en début de mon script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    from os import chdir
    chdir("/home/jules/exercices")
    je change bien le répertoire par défaut ?

  10. #10
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 874
    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 : 12 874
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par scalpel Voir le message
    Désolé si je m'introduit dans une discussion qui ne me concerne pas
    Regarde ton statut, tu es membre du club, tu as le droit d'intervenir. C'est ça un forum, ça concerne qui veut bien se sentir concerné.

    Citation Envoyé par scalpel Voir le message
    je change bien le répertoire par défaut ?
    Pas tout à fait. Là tu changes le répertoire courant du script et ce n'est pas la même chose. Alors si ensuite il y a l'instruction mkdir("xxx") le dossier "xxx" sera créé dans "/home/jules/exercices" donc ça pourrait laisser croire qu'il s'agit d'un répertoire par défaut mais en réalité ce dossier "xxx" est nommé en relatif donc relatif par rapport au répertoire courant.

    Puisque tu parles de "/home" je présume que tu es sous Linux donc que tu as l'habitude de travailler en shell. Si tu réfléchis bien c'est exactement la même chose quand tu appelles des fichiers depuis le shell. Si tu appelles cat /etc/passwd il s'agit d'un nom absolu (qui commence par "/") donc qui n'a aucune ambiguïté, mais si tu appelles cat passwd (ou même cat ../passwd) dans chaque appel tu fais référence à un fichier nommé en relatif (il ne commence pas par "/") donc relatif par rapport à ton emplacement courant (pwd), emplacement que tu peux changer avec la commande cd.
    Mon Tutoriel sur la programmation «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
    Et on poste ses codes entre balises [code] et [/code]

  11. #11
    Membre éclairé
    Inscrit en
    Mai 2009
    Messages
    587
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 587
    Par défaut
    Shakespeare disait (dans le texte) "beaucoup de bruit pour rien"... Je faisais remarquer que, parfois, exécuter un .py sous Python ne produit pas l'effet attendu, sans explication suffisante, et qu'alors on pouvait le lancer dans la console interactive, mais que l'inconvénient était qu'il fallait taper le chemin d'accès entier vers le fichier source. Vous, je ne sais pas, mais moi, je n'ai pas l'habitude de mettre mes fichier source dans "c:\temp".

    Mais le sujet est toujours résolu...

    AMIcalement.

  12. #12
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 874
    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 : 12 874
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par L'AMI Yves Voir le message
    Shakespeare disait (dans le texte) "beaucoup de bruit pour rien"..
    Relis les posts, peut-être que tu y apprendras des trucs...

    Citation Envoyé par L'AMI Yves Voir le message
    Je faisais remarquer que, parfois, exécuter un .py sous Python ne produit pas l'effet attendu, sans explication suffisante
    Dans ce cas on y rajoute des print() et autres traces pour retrouver l'origine du souci.

    Citation Envoyé par L'AMI Yves Voir le message
    mais moi, je n'ai pas l'habitude de mettre mes fichier source dans "c:\temp".
    Il s'agissait d'un exemple illustratif, donc des chemins d'exemples donnés pour montrer et illustrer ce qui se passe. Un esprit moins étroit l'aurait compris immédiatement et n'aurait alors pas fait cette remarque totalement débile et absolument en dessous de tout !!!
    Et c'est aussi une habitude qu'il peut être bon d'adopter pour ses propres essais et tests, histoire de ne pas en mettre partout sur les murs.

    Citation Envoyé par L'AMI Yves Voir le message
    Vous, je ne sais pas
    Tu le saurais si tu avais lu ce que j'ai écrit précédemment. Moi j'ai des projets avec différents dossiers et sous dossiers correspondants aux grandes catégories du développement MVC et mes scripts sont dispatchés dans ces divers dossiers en fonction de leur travail et but. Donc je n'ai pas "un" dossier de scripts mais plein de dossiers donc la notion de "dossier par défaut" n'a aucun sens. A la limite si on doit choisir "un" dossier privilégié ça peut être la racine du projet mais cette racine peut se retrouver via la variable __file__.
    Mon Tutoriel sur la programmation «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
    Et on poste ses codes entre balises [code] et [/code]

  13. #13
    Membre confirmé Avatar de scalpel
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Novembre 2008
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2008
    Messages : 157
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    ... Puisque tu parles de "/home" je présume que tu es sous Linux donc que tu as l'habitude de travailler en shell ...
    Non je suis sous Windows, j'ai juste repris un exemple "illustratif " que j'ai rencontré hier soir dans le Swinnen, mais je suis très tenté d'installer une distribution Ubuntu.
    C'est la lecture d'articles concernant cette distribution qui ma poussé à choisir Python comme langage de développement.

  14. #14
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 874
    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 : 12 874
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par scalpel Voir le message
    Non je suis sous Windows
    Ah
    OS visuellement ultra beau mais se prêtant mal au travail en ligne de commande. Et ne parlons pas des tonnes d'infos qu'il envoie automatiquement à on ne sait qui pour on ne sait quelle raison (mon firewall est khafi de règles de blocage).
    Et qui malheureusement ne t'a donc pas donné l'expérience pour comprendre mon exemple parlant de fichiers et chemins relatifs ou absolus.

    Citation Envoyé par scalpel Voir le message
    mais je suis très tenté d'installer une distribution Ubuntu.
    Essaye virtualbox. Et pour ton Linux alors personnellement j'utilise XUbuntu. Une version Ubuntu avec un environnement XFCE très léger et surtout très proche du rendu visuel de Windows...
    Nom : 3887-0.png
Affichages : 220
Taille : 720,6 Ko
    Mon Tutoriel sur la programmation «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
    Et on poste ses codes entre balises [code] et [/code]

  15. #15
    Membre confirmé Avatar de scalpel
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Novembre 2008
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2008
    Messages : 157
    Par défaut
    Put... il est superbe ton environnement de travail

    J'aimerai bien échanger concernant le choix d'un système d'exploitation, je vais ouvrir une discussion dans une autre catégorie du forum.

    Citation Envoyé par Sve@r Voir le message
    ... Et qui malheureusement ne t'a donc pas donné l'expérience pour comprendre mon exemple parlant de fichiers et chemins relatifs ou absolus ...
    Je confirme

  16. #16
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 874
    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 : 12 874
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par scalpel Voir le message
    Put... il est superbe ton environnement de travail
    Ce n'est pas le mien (regarde le bandeau du haut, il semble être écrit en russe et il est mentionné "US" sur la date). C'est une image que j'ai prise sur le net. Mais effectivement je l'ai chosie parmis d'autres car elle illustre bien les possibilités XUbuntu (une barre en haut, une barre en bas, et on peut en rajouter autant qu'on veut y compris en vertical gauche ou droite et toutes entièrement configurables aussi bien en hauteur qu'en largeur et même en transparence et où on choisit entièrement toutes les icônes que l'on veut y voir).

    Citation Envoyé par scalpel Voir le message
    je vais ouvrir une discussion dans une autre catégorie du forum.
    Hé oui parce que là la discussion dévie dangereusement vers le squat de topic
    Mon Tutoriel sur la programmation «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
    Et on poste ses codes entre balises [code] et [/code]

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

Discussions similaires

  1. comment travailler dans un seul lignes d'une matrice?
    Par bakir mery dans le forum Débuter
    Réponses: 2
    Dernier message: 16/06/2018, 23h46
  2. Comment travailler dans l'écosystème JS ?
    Par grunk dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 16/02/2017, 11h51
  3. Réponses: 1
    Dernier message: 17/08/2011, 18h37
  4. Réponses: 6
    Dernier message: 22/02/2011, 23h46
  5. Comment copier un fichier dans un dossier de mon choix
    Par sebac dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 20/05/2010, 13h25

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