J'utilise Python 3.2 sur Windows 7. Lorsque j'ouvre le shell Python, comment puis-je savoir quel est le répertoire actuel et comment le changer en un autre répertoire où se trouvent mes modules?
J'utilise Python 3.2 sur Windows 7. Lorsque j'ouvre le shell Python, comment puis-je savoir quel est le répertoire actuel et comment le changer en un autre répertoire où se trouvent mes modules?
Réponses:
Vous pouvez utiliser le os
module.
>>> import os
>>> os.getcwd()
'/home/user'
>>> os.chdir("/tmp/")
>>> os.getcwd()
'/tmp'
Mais s'il s'agit de trouver d'autres modules: vous pouvez définir une variable d'environnement appelée PYTHONPATH
, sous Linux serait comme
export PYTHONPATH=/path/to/my/library:$PYTHONPATH
Ensuite, l'interprète recherche également à cet endroit les import
modules ed. Je suppose que le nom serait le même sous Windows, mais je ne sais pas comment changer.
Éditer
Sous Windows:
set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib
(extrait de http://docs.python.org/using/windows.html )
modifier 2
... et encore mieux: utilisez virtualenv
et virtualenv_wrapper
, cela vous permettra de créer un environnement de développement où vous pourrez ajouter des chemins de modules comme bon vous semble (add2virtualenv
) sans polluer votre installation ou environnement de travail "normal".
http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html
PYTHONPATH
, mais notez que l'OP spécifie Windows ...
sys.path
intérieur de votre script.
PYTHONPATH
globalement si vous avez plus d'un Python installé (ou si des programmes installés qui regroupent Python avec eux - en d'autres termes, vous ne le saurez jamais): cela peut interrompre votre installation de manière mystérieuse
tu veux
import os
os.getcwd()
os.chdir('..')
os.chdir('C:/Users/Ajeya/Documents')
, soit os.chdir('C:\\Users\\Ajeya\\Documents')
, ou os.chdir(r'C:\Users\Ajeya\Documents')
.
os.getcwd()
uniquement à des fins de débogage afin que nous puissions voir quel est le répertoire de travail avant de le modifier. Le code pour changer réellement cwd
est justeos.chdir('..')
>>> import os
>>> os.system('cd c:\mydir')
En fait, os.system()
peut exécuter n'importe quelle commande que l'invite de commande Windows peut exécuter, pas seulement changer dir.
Changer le répertoire courant n'est pas la façon de gérer la recherche de modules en Python.
Voir plutôt les documents pour le chemin de recherche de module pour savoir comment Python trouve le module à importer.
Voici un extrait pertinent de la section Modules standard :
La variable sys.path est une liste de chaînes qui détermine le chemin de recherche de l'interpréteur pour les modules. Il est initialisé sur un chemin par défaut tiré de la variable d'environnement PYTHONPATH, ou d'une valeur par défaut intégrée si PYTHONPATH n'est pas défini. Vous pouvez le modifier en utilisant des opérations de liste standard:
>>> import sys
>>> sys.path.append('/ufs/guido/lib/python')
Pour répondre à votre question d'origine sur l'obtention et la configuration du répertoire actuel:
>>> help(os.getcwd)
getcwd(...)
getcwd() -> path
Return a string representing the current working directory.
>>> help(os.chdir)
chdir(...)
chdir(path)
Change the current working directory to the specified path.
import sys sys.path.append('/home/g/PycharmProjects/your_project/')
Le moyen le plus simple de changer le répertoire de travail actuel en python est d'utiliser le package 'os'. Ci-dessous, un exemple pour ordinateur Windows:
# Import the os package
import os
# Confirm the current working directory
os.getcwd()
# Use '\\' while changing the directory
os.chdir("C:\\user\\foldername")
Si vous import os
pouvez utiliser os.getcwd
pour obtenir le répertoire de travail actuel et que vous pouvez utiliser os.chdir
pour modifier votre répertoire