파이썬으로 "cd" 명령어 기능을 만들려면?
조회수 3877회
발생하는 문제 및 실행환경
파이썬으로 그림을 그려서 저장하는 프로그램을 만들고 있습니다. 스크립트가 실행된 위치가 아니라 다른 위치에 저장하고 싶은데
쉘에서 cd
하는 것 같이
지금 작업 중인 디렉토리를 바꾸려면 어떻게 해야 하나요?
1 답변
-
작업 디렉토리(CWD)는
os.chdir(path)
로 바꿀 수 있습니다CWD를 바꿀 때는 보통 기존 CWD(oldpath)를 다른 위치(newpath)로 바꿨다가 다시 oldpath로 복귀하는 방법으로 주로 쓰입니다.
import os class chdir(object): def __init__(self, newpath): self.oldPath = os.getcwd() os.chdir(newpath) def saveImage(self, img): pass # def __del__(self): os.chdir(self.oldPath) #(주의)작업 중에 oldPath가 사라진 경우 error 발생함. myClass = chdir("/") #myClass.saveImage()
*subprocess에서 CWD를 바꾸는 건 현 process에 아무런 영향을 주지 않습니다. 즉, shell에서
os.chdir()
을 수행하는 파이썬 스크립트를 실행하면 파이썬 프로그램 안의 CWD가 바뀔 뿐 shell의 CWD는 바뀌지 않습니다.
댓글 입력