Comment changer de répertoire dans le répertoire avec mon script python? Jusqu'à présent, j'ai compris que je devrais utiliser os.chdir
et sys.argv[0]
. Je suis sûr qu'il y a un meilleur moyen d'écrire ma propre fonction pour analyser argv [0].Changer le répertoire dans le répertoire d'un script Python
Répondre
os.chdir(os.path.dirname(__file__))
pour quelque raison que ce soit __file__ était C: \ dev \ Python25 \ Lib \ idlelib donc un remplacement rapide par argv [0] l'a résolu. +1 et cocher la case –
En outre, en fonction de la plate-forme, vous pouvez utiliser 'os.path.abspath' sur le résultat de' os.path.dirname' pour vous assurer que les liens symboliques ou toute autre redirection du système de fichiers sont développés correctement. –
Parfois __file__
n'est pas défini, dans ce cas, vous pouvez essayer sys.path[0]
@Miki - quand est-ce que __file__ n'est pas défini? –
@RobBednark: 'python3.3 -c" print (__ fichier __) "' –
@JanusTroelsen: true pour Python 2.7. – George
os.chdir(os.path.dirname(os.path.abspath(__file__)))
devrait le faire.
os.chdir(os.path.dirname(__file__))
ne fonctionnerait pas si le script est exécuté à partir du répertoire dans lequel il est présent.
sur Windows OS, si vous appelez quelque chose comme python somefile.py ce os.chdir (os.path.dirname (__ FILE__)) lancera une WindowsError. Mais cela devrait fonctionner dans tous les cas:
import os
absFilePath = os.path.abspath(__file__)
os.chdir(os.path.dirname(absFilePath))
Vous pouvez directement copier-coller ceci: 'import os; os.chdir (os.path.dirname (__ fichier __)) ' – Basj