[python] 파이썬 쉘에서 현재 디렉토리를 알고 / 변경하는 방법?

Windows 7에서 Python 3.2를 사용하고 있습니다. Python 셸을 열 때 현재 디렉토리가 무엇인지 어떻게 알 수 있으며 모듈이있는 다른 디렉토리로 변경하려면 어떻게해야합니까?



답변

os모듈을 사용할 수 있습니다 .

>>> import os
>>> os.getcwd()
'/home/user'
>>> os.chdir("/tmp/")
>>> os.getcwd()
'/tmp'

그러나 다른 모듈을 찾는다면 : PYTHONPATH리눅스 에서 환경 변수를 설정할 수 있습니다.

export PYTHONPATH=/path/to/my/library:$PYTHONPATH

그런 다음, 인터프리터는이 위치에서 imported 모듈 을 검색 합니다. Windows에서는 이름이 동일하지만 변경 방법을 모릅니다.

편집하다

Windows에서 :

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

( http://docs.python.org/using/windows.html 에서 가져옴 )

편집 2

… 그리고 더 나은 : 사용 virtualenv하고 virtualenv_wrapper, 이것은 당신이 당신이 좋아하는 당신 같은 모듈 경로를 추가 할 수있는 개발 환경 (만들 수 있습니다 add2virtualenv설치 또는 “정상적인”작업 환경을 오염하지 않고 참조).

http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html


답변

너는 원해

import os
os.getcwd()
os.chdir('..')


답변

>>> import os
>>> os.system('cd c:\mydir')

사실, os.system()dir 변경뿐만 아니라 Windows 명령 프롬프트가 실행할 수있는 모든 명령을 실행할 수 있습니다.


답변

현재 디렉토리를 변경하는 것은 파이썬에서 모듈을 찾는 방법이 아닙니다.

오히려 파이썬이 가져올 모듈을 찾는 방법에 대한 모듈 검색 경로 문서를 참조하십시오 .

다음은 표준 모듈 섹션 의 관련 비트입니다 .

sys.path 변수는 모듈에 대한 인터프리터의 검색 경로를 결정하는 문자열 목록입니다. 환경 변수 PYTHONPATH에서 가져온 기본 경로로, 또는 PYTHONPATH가 설정되지 않은 경우 기본 제공 기본값으로 초기화됩니다. 표준 목록 작업을 사용하여 수정할 수 있습니다.

>>> import sys
>>> sys.path.append('/ufs/guido/lib/python')

현재 디렉토리를 가져오고 설정하는 것에 대한 원래 질문에 답하십시오.

>>> 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.


답변

파이썬에서 현재 작업 디렉토리를 변경하는 가장 쉬운 방법은 ‘os’패키지를 사용하는 것입니다. 아래는 Windows 컴퓨터의 예입니다.

# Import the os package
import os

# Confirm the current working directory 
os.getcwd()

# Use '\\' while changing the directory 
os.chdir("C:\\user\\foldername")


답변

당신이 경우 import os당신이 사용할 수있는 os.getcwd현재 작업 디렉토리를 얻을, 당신은 사용할 수있는 os.chdir디렉토리를 변경하려면


답변

당신은 이것을 시도 할 수 있습니다 :

import os

current_dir = os.path.dirname(os.path.abspath(__file__))   # Can also use os.getcwd()
print(current_dir)                                         # prints(say)- D:\abc\def\ghi\jkl\mno"
new_dir = os.chdir('..\\..\\..\\')
print(new_dir)                                             # prints "D:\abc\def\ghi"