Estou usando o Python 3.2 no Windows 7. Quando abro o shell do Python, como posso saber qual é o diretório atual e como posso alterá-lo para outro diretório em que meus módulos estão?
Estou usando o Python 3.2 no Windows 7. Quando abro o shell do Python, como posso saber qual é o diretório atual e como posso alterá-lo para outro diretório em que meus módulos estão?
Respostas:
Você pode usar o os
módulo
>>> import os
>>> os.getcwd()
'/home/user'
>>> os.chdir("/tmp/")
>>> os.getcwd()
'/tmp'
Mas se for para encontrar outros módulos: você pode definir uma variável de ambiente chamada PYTHONPATH
, no Linux seria como
export PYTHONPATH=/path/to/my/library:$PYTHONPATH
Em seguida, o intérprete também procura neste local por import
módulos ed. Eu acho que o nome seria o mesmo no Windows, mas não sei como mudar.
editar
No Windows:
set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib
(extraído de http://docs.python.org/using/windows.html )
editar 2
... e melhor ainda: use virtualenv
e virtualenv_wrapper
, isso permitirá que você crie um ambiente de desenvolvimento onde você pode adicionar caminhos de módulo como quiser ( add2virtualenv
) sem poluir sua instalação ou ambiente de trabalho "normal".
http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html
PYTHONPATH
, mas observe que o OP especifica o Windows ... #
sys.path
interior do seu script.
PYTHONPATH
globalmente se você tiver mais de um Python instalado (ou se houver programas que o incluam - em outras palavras, você nunca saberá): isso pode quebrar sua instalação de maneiras misteriosas
você quer
import os
os.getcwd()
os.chdir('..')
os.chdir('C:/Users/Ajeya/Documents')
, ou os.chdir('C:\\Users\\Ajeya\\Documents')
ou os.chdir(r'C:\Users\Ajeya\Documents')
.
os.getcwd()
apenas para fins de depuração, para que possamos ver qual é o diretório de trabalho antes de alterá-lo. O código para mudar realmente o cwd
é apenasos.chdir('..')
>>> import os
>>> os.system('cd c:\mydir')
De fato, os.system()
pode executar qualquer comando que o prompt de comando do Windows possa executar, e não apenas alterar o diretório
Alterar o diretório atual não é a maneira de lidar com a localização de módulos no Python.
Em vez disso, consulte a documentação do Caminho de pesquisa do módulo para saber como o Python encontra qual módulo importar.
Aqui está um bit relevante da seção Módulos Padrão :
A variável sys.path é uma lista de cadeias que determina o caminho de pesquisa do intérprete para módulos. É inicializado com um caminho padrão obtido da variável de ambiente PYTHONPATH ou com um padrão interno se PYTHONPATH não estiver definido. Você pode modificá-lo usando operações de lista padrão:
>>> import sys
>>> sys.path.append('/ufs/guido/lib/python')
Em resposta à sua pergunta original sobre como obter e configurar o diretório atual:
>>> 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/')
A maneira mais fácil de alterar o diretório de trabalho atual em python é usando o pacote 'os'. Abaixo há um exemplo para o computador windows:
# Import the os package
import os
# Confirm the current working directory
os.getcwd()
# Use '\\' while changing the directory
os.chdir("C:\\user\\foldername")
Se você import os
pode usar os.getcwd
para obter o diretório de trabalho atual e os.chdir
alterar seu diretório