57 votes

Chemins de fichiers indépendants de la plate-forme ?

Comment puis-je utiliser un fichier dans mon dossier d'application en Python ? Plateforme indépendante bien sûr... quelque chose de similaire à ceci :

 #!/bin/sh
mypath=${0%/*}
LIBDIR=$mypath/modules

98voto

Blender Points 114729

Vous pouvez utiliser os.path et ses fonctions, qui prennent en charge les chemins spécifiques au système d'exploitation :

 >>> import os
>>> os.path.join('app', 'subdir', 'dir', 'filename.foo')
'app/subdir/dir/filename.foo'

Sous Windows, il devrait s'imprimer avec des barres obliques inverses.

24voto

aviraldg Points 4618
import os
os.path.join(os.path.curdir, 'file.name')

ou

 import os
os.path.join(os.path.dirname(__file__), 'file.name')

selon qu'il s'agit d'un module (2) ou d'un seul script (1) , et si vous l'invoquez depuis le même répertoire (1) , ou depuis un autre (2) .

Éditer

En regardant la "tentative" que vous avez dans votre question, je suppose que vous voudriez (1) .

5voto

__file__ contient l'emplacement du module. Utilisez les fonctions dans os.path pour en extraire le répertoire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X