En Python, quelles commandes puis-je utiliser pour trouver :
- le répertoire courant (où je me trouvais dans le terminal lorsque j'ai exécuté le script Python script), et
- où se trouve le fichier que j'exécute ?
En Python, quelles commandes puis-je utiliser pour trouver :
Pour obtenir le chemin complet du répertoire dans lequel se trouve un fichier Python, écrivez ceci dans ce fichier :
import os
dir_path = os.path.dirname(os.path.realpath(__file__))
(Notez que l'incantation ci-dessus ne fonctionnera pas si vous avez déjà utilisé l'option os.chdir()
pour modifier votre répertoire de travail actuel, puisque la valeur de la balise __file__
est relative au répertoire de travail actuel et n'est pas modifiée par une commande os.chdir()
appel.)
Pour obtenir le répertoire de travail actuel, utilisez
import os
cwd = os.getcwd()
Références de documentation pour les modules, constantes et fonctions utilisés ci-dessus :
os
y os.path
modules.__file__
constantos.path.realpath(path)
(retours "le chemin canonique du nom de fichier spécifié, en éliminant tous les liens symboliques rencontrés dans le chemin". )os.path.dirname(path)
(retours "le nom du répertoire du chemin d'accès path
" )os.getcwd()
(retours "une chaîne représentant le répertoire de travail actuel" )os.chdir(path)
( "changer le répertoire de travail actuel en path
" )
Je déteste quand j'utilise ça pour ajouter à sys.path. Je me sens tellement sale en ce moment.
fichier ne fonctionnera pas si elle est invoquée depuis un IDE (disons IDLE). Suggérez os.path.realpath('./') ou os.getcwd(). La meilleure réponse se trouve ici : stackoverflow.com/questions/2632199/
@Neon22 pourrait répondre à certains besoins, mais je pense qu'il faut noter que ces choses ne sont pas du tout les mêmes - les fichiers peuvent être en dehors du répertoire de travail.
Répertoire de travail actuel : os.getcwd()
Et le __file__
attribut peut vous aider à trouver l'emplacement du fichier que vous exécutez. Ce post de Stack Overflow explique tout : Comment obtenir le chemin du fichier en cours d'exécution en Python ?
Vous pouvez trouver cela utile comme référence :
import os
print("Path at terminal when executing this file")
print(os.getcwd() + "\n")
print("This file path, relative to os.getcwd()")
print(__file__ + "\n")
print("This file full path (following symlinks)")
full_path = os.path.realpath(__file__)
print(full_path + "\n")
print("This file directory and name")
path, filename = os.path.split(full_path)
print(path + ' --> ' + filename + "\n")
print("This file directory only")
print(os.path.dirname(full_path))
Il est préférable d'utiliser os.sep plutôt que le code dur pour Windows : os.getcwd().split(os.sep)[-1]
Le problème avec cette approche est que si vous exécutez le script à partir d'un répertoire différent, vous obtiendrez le nom de ce répertoire au lieu de celui des scripts, ce qui peut ne pas être ce que vous voulez.
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.