Question Comment obtenir le chemin complet du répertoire du fichier actuel en Python?


Je veux obtenir le chemin du répertoire du fichier en cours.
J'ai essayé:

>>> os.path.abspath(__file__)
'C:\\python27\\test.py'

Mais comment puis-je récupérer le chemin du répertoire? Par exemple:

'C:\\python27\\'

476
2017-08-07 12:17


origine


Réponses:


Si vous voulez dire le répertoire du script en cours d'exécution:

import os
os.path.dirname(os.path.abspath(__file__))

Si vous voulez dire le répertoire de travail actuel:

import os
os.getcwd()

Notez qu'avant et après file est deux soulignements, pas juste un.


994
2017-08-07 12:24



En Python 3:

from pathlib import Path

mypath = Path().absolute()
print(mypath)

12
2018-04-30 10:51



import os
print os.path.dirname(__file__)

7
2017-08-07 12:24



Vous pouvez utiliser os et os.path bibliothèque facilement comme suit

import os
os.chdir(os.path.dirname(os.getcwd()))

os.path.dirname retourne le répertoire supérieur de l'actuel. Cela nous permet de passer à un niveau supérieur sans passer aucun argument de fichier et sans connaître le chemin absolu.


5
2017-10-16 13:05



Pour conserver la cohérence de migration entre les plates-formes (macOS / Windows / Linux), essayez:

path = r'%s' % os.getcwd().replace('\\','/')

0
2018-04-12 05:16



IPython a une commande magique %pwd pour obtenir le répertoire de travail actuel. Il peut être utilisé de la manière suivante:

from IPython.terminal.embed import InteractiveShellEmbed

ip_shell = InteractiveShellEmbed()

present_working_directory = ip_shell.magic("%pwd")

Sur IPython Jupyter Notebook %pwd peut être utilisé directement comme suit:

present_working_directory = %pwd

-1
2018-03-07 05:50