Rechercher le chemin d'accès au fichier donné en utilisant Python

Rechercher le chemin d'accès au fichier donné en utilisant Python

Nous pouvons obtenir l'emplacement (chemin) du fichier de script en cours d'exécution .py avec __file__. __déposer__ est utile pour lire d’autres fichiers et donne l’emplacement actuel du fichier en cours d’exécution. Il diffère selon les versions. Dans Python 3.8 et versions antérieures, __file__ renvoie le chemin spécifié lors de l'exécution du Python commande.

Nous pouvons obtenir un chemin relatif si un chemin relatif est spécifié. Si nous spécifions un chemin absolu, un chemin absolu est renvoyé. Mais dans Python 3.9 et versions ultérieures, __file__ renvoie toujours un chemin absolu, le Module du système d'exploitation fournit divers utilitaires.

Façons d'obtenir le répertoire actuel en Python avec le système d'exploitation

Il existe de nombreuses façons d'obtenir le répertoire actuel en Python avec le système d'exploitation. Ici, nous utilisons certaines méthodes généralement utilisées pour obtenir le répertoire actuel en Python avec le système d'exploitation suivants.

  • Utilisation de Path.cwd()
  • En utilisant os.getcwd()
  • Utilisation de pathlib.Path().absolute()
  • Utilisation du système d'exploitation. chemin.nom de base
  • En utilisant os.path.abspath

Trouvez le chemin d'accès au fichier donné en utilisant Path.cwd()

Ici, l’idée du Current Working Directory (CWD) tient une place importante. Pensez au MDC comme dossier dans lequel Python s'exécute. Python suppose que le fichier démarre dans le CWD s'il est appelé simplement par son nom, donc une référence de nom uniquement ne fonctionnera que si le fichier se trouve dans le CWD de Python. Le Path.cwd() renvoie le répertoire actuel.

Python3




from> pathlib> import> Path> print> (Path.cwd())>

Sortir:

C:Usersint.suraj.gupta 

Obtenez le répertoire actuel en Python avec le système d'exploitation en utilisant os.getcwd()

Nous pouvons obtenir le chemin absolu du répertoire de travail actuel. Ainsi, selon la version utilisée, un chemin relatif ou un chemin absolu est récupéré. Afin d'obtenir le répertoire de travail actuel en Python, utilisez le fichier os. obtenircwd () méthode. Cette fonction du module Python OS renvoie la chaîne contenant le chemin absolu vers le répertoire de travail actuel.

Python3




import> os> print> (> 'Get current working directory : '> , os.getcwd())>

Sortir:

Get current working directory : C:Usersint.suraj.gupta 

Obtenez le répertoire actuel en Python avec le système d'exploitation en utilisant pathlib.Path().absolute()

Cette fonction du Python Module du système d'exploitation renvoie la chaîne contenant le chemin absolu vers le répertoire de travail actuel.

Python3




import> pathlib> # current working directory> print> (pathlib.Path().absolute())>

Sortir:

C:Usersint.suraj.gupta 

Recherchez le chemin d'accès au fichier donné à l'aide de os.path.basename

Nous pouvons obtenir le nom du fichier et le nom du répertoire du fichier en cours d’exécution de la manière ci-dessous. L'élément clé à comprendre __déposer__ est que l'interpréteur l'ajuste au moment de l'exécution pour que Python sait de quel fichier il s'agit lorsque le script utilise plusieurs modules. L'avantage d'appeler Path( file__) est qu'il renvoie une chaîne contenant le chemin et le fichier sur lequel vous travaillez actuellement.

  • Vous pouvez appeler __file__ lors de la modification d'un fichier. Par conséquent, si vous essayez de l’appeler depuis l’interpréteur shell, il ne s’exécutera pas.
  • __file__ ne fonctionne pas dans un Carnet Jupyter contexte.

Python3




import> os> print> (> 'File name : '> , os.path.basename(__file__))> print> (> 'Directory Name: '> , os.path.dirname(__file__))>

Sortir:

Recherchez le chemin d'accès au fichier donné à l'aide de os.path.abspath

Cela peut paraître compliqué, mais os.path.abspath() signifie simplement que cette méthode renvoie le nom du chemin fourni en argument à cette fonction. La documentation affirme que cette méthode produit une version absolutisée normalisée du chemin d'accès.

Exemple 1: Pour obtenir le chemin absolu du fichier en cours d’exécution.

Python3




import> os> print> (> 'Absolute path of file: '> ,> > os.path.abspath(__file__))> print> (> 'Absolute directoryname: '> ,> > os.path.dirname(os.path.abspath(__file__)))>

Sortir:

Exemple 2 : Si nous spécifions un chemin absolu dans os.path.abspath(), il sera renvoyé tel quel, donc si __file__ est un chemin absolu, aucune erreur ne se produira même si nous définissons os.path. abspath (__déposer__)

Python3




import> os> pythonfile> => 'pathfinding.py'> # if the file is present in current directory,> # then no need to specify the whole location> print> (> 'Path of the file..'> , os.path.abspath(pythonfile))> for> root, dirs, files> in> os.walk(r> 'E:geeksforgeekspath_of_given_file'> ):> > for> name> in> files:> > > # As we need to get the provided python file,> > # comparing here like this> > if> name> => => pythonfile:> > print> (os.path.abspath(os.path.join(root, name)))>

Sortir: