Comment obtenir le répertoire de travail courant en utilisant python 3?

quand j'exécute le script suivant au ralenti

import os
print(os.getcwd())

je obtenir une sortie

D:testtool

mais quand je cours de CMD prompt, je reçois

c:Python33>python D:testtoolcurrent_dir.py
c:Python33

Comment obtenir le même résultat que J'ai obtenu en utilisant IDLE ?

28
demandé sur Shriram 2013-06-28 11:42:55

2 réponses

il semble que IDLE change son dir de travail actuel à l'emplacement du script qui est exécuté, alors que lors de l'exécution du script en utilisant cmd ne fait pas cela et il laisse CWD tel quel.

pour changer le dir de travail actuel à celui contenant votre script vous pouvez utiliser:

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

la variable __file__ n'est disponible que si vous exécutez le script à partir du fichier, et qu'elle contient le chemin d'accès au fichier. Plus d'informations ici: Python _ _ file__ attribut absolu ou relatif?

45
répondu Maciek 2017-05-23 12:00:10
import pathlib

current_dir = pathlib.Path(__file__).parent
current_file = pathlib.Path(__file__)

réf Doc: lien

2
répondu butsyk 2017-07-08 09:19:57