Estoy usando Python 3.2 en Windows 7. Cuando abro el shell de Python, ¿cómo puedo saber cuál es el directorio actual y cómo puedo cambiarlo a otro directorio donde están mis módulos?
Estoy usando Python 3.2 en Windows 7. Cuando abro el shell de Python, ¿cómo puedo saber cuál es el directorio actual y cómo puedo cambiarlo a otro directorio donde están mis módulos?
Respuestas:
Puedes usar el os
módulo.
>>> import os
>>> os.getcwd()
'/home/user'
>>> os.chdir("/tmp/")
>>> os.getcwd()
'/tmp'
Pero si se trata de encontrar otros módulos: puede establecer una variable de entorno llamada PYTHONPATH
, en Linux sería como
export PYTHONPATH=/path/to/my/library:$PYTHONPATH
Luego, el intérprete busca también en este lugar import
módulos ed. Supongo que el nombre sería el mismo en Windows, pero no sé cómo cambiarlo.
editar
Bajo Windows:
set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib
(tomado de http://docs.python.org/using/windows.html )
editar 2
... y aún mejor: use virtualenv
y virtualenv_wrapper
, esto le permitirá crear un entorno de desarrollo en el que puede agregar rutas de módulo a su gusto ( add2virtualenv
) sin contaminar su instalación o entorno de trabajo "normal".
http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html
PYTHONPATH
, pero tenga en cuenta que el PO especifica de Windows ...
sys.path
interior de su script.
PYTHONPATH
globalmente si tiene más de un Python instalado (o tiene programas instalados que combinan Python con ellos, en otras palabras, nunca lo sabrá): puede interrumpir su instalación de maneras misteriosas
usted quiere
import os
os.getcwd()
os.chdir('..')
os.chdir('C:/Users/Ajeya/Documents')
, o os.chdir('C:\\Users\\Ajeya\\Documents')
, o os.chdir(r'C:\Users\Ajeya\Documents')
.
os.getcwd()
solo llama con fines de depuración para que podamos ver cuál es el directorio de trabajo antes de cambiarlo. El código para cambiar realmente cwd
es simplementeos.chdir('..')
>>> import os
>>> os.system('cd c:\mydir')
De hecho, os.system()
puede ejecutar cualquier comando que el símbolo del sistema de Windows pueda ejecutar, no solo cambiar el directorio.
Cambiar el directorio actual no es la forma de tratar de encontrar módulos en Python.
Por el contrario, vea los documentos de The Module Search Path para saber cómo Python encuentra qué módulo importar.
Aquí hay un bit relevante de la sección Módulos estándar :
La variable sys.path es una lista de cadenas que determina la ruta de búsqueda del intérprete para los módulos. Se inicializa en una ruta predeterminada tomada de la variable de entorno PYTHONPATH, o de un valor predeterminado incorporado si PYTHONPATH no está configurado. Puede modificarlo mediante operaciones de lista estándar:
>>> import sys
>>> sys.path.append('/ufs/guido/lib/python')
En respuesta a su pregunta original sobre cómo obtener y configurar el directorio actual:
>>> 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/')
La forma más fácil de cambiar el directorio de trabajo actual en python es usar el paquete 'os'. A continuación hay un ejemplo para computadora con 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 import os
puede usar os.getcwd
para obtener el directorio de trabajo actual, y puede usar os.chdir
para cambiar su directorio