Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1572 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Chercher son chemin

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Chercher son chemin

n°2298960
dagadevos
Posté le 10-04-2017 à 10:27:00  profilanswer
 

Bonjour,
 
Merci de votre attention. :)  
 
Voilà, je travaille depuis quelques semaines sur un plugin programmé en python (je n'en ai jamais fait avant). En sois il fonctionne mais je n'arrive pas à enregistrer les fichiers générés pour l'utilisateur au bon endroit. C'est à dire sur son bureau.
 
Malheureusement sur mon PC il se trouve que mon bureau est sur le D: et non sur le C: , je souhaiterais savoir si il y a une méthode afin de connaitre le chemin exact du bureau de l'utilisateur (que son bureau soit sur n'importe quel disk)
 
J'ai testé :

Code :
  1. self.path = os.path.expanduser("~\\Links\\Desktop\\Styles\\" )
  2. self.path = os.path.expanduser('~')+"\\Desktop\\Styles\\"
  3. self.path = os.path.expanduser("~\\Desktop\\Styles\\" )
  4. self.path = os.path.join(os.path.join(os.environ['USERPROFILE']), 'Desktop\\Styles\\')


 
Rien n'a fonctionné car il cherche le Desktop sur le C:, j'ai bien sûr cherché sur google et n'ai trouvé que des solutions pour connaitre le chemin vers le C:...
 
Auriez vous une solution ? (bien sur il ne faut pas que le chemin soit en brute puisqu'il doit s'adapter selon le client)
 
Merci !

mood
Publicité
Posté le 10-04-2017 à 10:27:00  profilanswer
 

n°2298970
TotalRecal​l
Posté le 10-04-2017 à 14:34:53  profilanswer
 

Pour trouver proprement le répertoire du bureau, la méthode "générique" c'est de faire appel à SpecialFolders "Desktop" sur un objet lié au shell dont le nom dépend du langage.

 

Par exemple en VBS :
WScript.CreateObject("WScript.Shell" ).SpecialFolders("Desktop" )
En .Net :
Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
Ou
Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
Selon que tu veuilles un chemin logique (shell) ou physique (sachant que ça a été unifié depuis).

 

Partant de ce principe général, en faisant la même recherche avec "Python" en plus, je dirai de suivre ceci :
http://stackoverflow.com/questions [...] ed-in-user


Message édité par TotalRecall le 10-04-2017 à 14:36:08

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2298971
dagadevos
Posté le 10-04-2017 à 14:56:41  profilanswer
 

Yes !!! trop bien ça fonctionne !!! (j'ai prit le module winshell) .
 
Merci beaucoup !!!!!!!!!

n°2299236
fred1599
Posté le 14-04-2017 à 19:00:32  profilanswer
 

On peut aussi utiliser ctypes directement dans les modules standards
 

Code :
  1. import ctypes
  2. def get_desktop():
  3.     SHGetSpecialFolderPath = ctypes.windll.shell32.SHGetSpecialFolderPathW
  4.     buffer = ctypes.create_unicode_buffer(1024)
  5.     res = SHGetSpecialFolderPath(None, buffer, 0x0000, False)
  6.     if res:
  7.         return buffer.value
  8.     return None


Message édité par fred1599 le 14-04-2017 à 19:01:16

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Chercher son chemin

 

Sujets relatifs
Chemin relatif : problèmeExcel : Code macro pour aller chercher les données d'un autre fichier
[EXCEL ou VBA] Chercher une valeur parmi un ensemble de valeurTableau 2D, chercher une valeur dans une colonne et ramener la seconde
CMD et chemin de raccourciRemplacer un \ avec un / dans un chemin de fichier
Afficher bannière et ses boutons en allant la chercher sur autre pageMangodb / Redis : Pour indexer/Chercher fichier locaux
récupérer le chemin d'un répertoire chercher[C++] Chemin non valide pour chercher une clé dans le registre!
Plus de sujets relatifs à : Chercher son chemin


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR