Python을 사용하여 현재 디렉토리의 부모 가져오기

| | | | | | | | | | | | | | | | | | | | | |

OS 모듈은 상위 디렉토리를 가져오는 다양한 방법을 제공합니다. 몇 가지 방법:

os.path 사용. abspath()

os.path.abspath() 는 상위 디렉토리를 가져오는 데 사용할 수 있습니다. 이 방법은 경로의 정규화된 버전을 가져오는 데 사용됩니다. 이 기능에는 os.path.join( () os.pardir() .
os.path.join ( () Python os.path.join ( () 하나 이상의 경로 구성 요소를 결합합니다. 이 메서드는 다양한 경로 구성 요소를 정확히 하나로 연결합니다. (' / ') 마지막 경로 구성 요소를 제외하고 비어 있지 않은 각 부분 뒤의 디렉토리 구분 기호. 결합할 경로의 마지막 구성 요소가 비어 있으면 ( ' / ') 디렉토리 구분자는 끝에 위치합니다.

구문: os.path.abspath(경로)

매개변수:
경로: 파일 시스템 경로를 나타내는 경로와 유사한 개체입니다.

반환 유형: 경로의 정규화된 버전인 문자열을 반환합니다.

예:


# 부모를 가져오는 Python 프로그램
# 디렉토리



가져오기 os


# 현재 디렉토리 가져오기 < /코드>

<코드 클래스 = "일반"> 경로 <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> os.getcwd()

인쇄 ( "현재 디렉토리" , cwd)


# 상위 디렉토리 출력

인쇄 (os.path.abspath ( < a href="https://python.engineering/python-os-path-join-method/">os.path.join ((경로, os.pardir))

출력:

os.path.dirname사용 a> ()

os.path.dirname () Python에서 디렉토리 이름을 가져오는 데 사용됩니다. 주어진 경로.

구문: os.path.dirname< /a>(경로)

매개변수:
경로: 파일 시스템 경로를 나타내는 경로와 유사한 개체입니다.

반환 유형: 이 메소드는 지정된 경로의 디렉토리 이름을 나타내는 문자열 값을 반환합니다.

예:

# 부모를 가져오는 Python 프로그램
# 디렉토리


가져오기 <코드 클래스 = " plain"> os


# 현재 디렉토리 가져오기

경로 <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> os.getcwd()

<코드 클래스 = "함수"> print ( "Cu rrent 디렉토리 " , 경로)

인쇄 ( )


# 상위 디렉토리

상위 = os. path.dirname (경로)

인쇄 ( "상위 디렉토리" , 상위)

종료 :

os.path.relpath() 및 os.path.dirname() 사용

위의 예에서 상위 디렉토리를 가져오는 것은 한 수준으로 제한되었습니다. , 우리는 현재 디렉토리의 상위 레벨을 한 레벨로만 얻을 수 있습니다... 상위 디렉토리의 상위를 찾고자 한다면 위의 코드는 실패할 것입니다. 이는 os.path.dirname () .

os.path.relpath () 파이썬에서 사용 현재 작업 디렉토리 또는 주어진 디렉토리에서 주어진 경로에 있는 파일에 대한 상대 경로를 가져옵니다.

구문: os.path.relpath(경로, 시작 = os.curdir)

매개변수:
경로: 파일 시스템 경로를 나타내는 경로와 유사한 개체입니다.
시작(선택 사항): 파일 시스템 경로를 나타내는 경로와 유사한 개체입니다.
주어진 경로의 상대 경로는 시작으로 표시된 디렉터리를 기준으로 계산됩니다. 이 매개변수의 기본값은 os입니다. 일정한 st인 curdir 현재 디렉토리를 참조하기 위해 운영 체제에서 사용하는 링입니다.

경로류 개체는 경로를 나타내는 문자열 또는 바이트열 개체입니다.

반환 유형: 이 메소드는 시작 디렉토리에서 주어진 경로에 대한 상대 파일 경로를 나타내는 문자열 값을 반환합니다.0222

예:

사용자 지정 수준에 따라 상위 디렉터리를 가져오기 위해 경로 수준 을 다음과 같이 허용하는 getParent() 함수를 만듭니다. 인수. 함수 내에서 for 루프는 레벨 + 1 시간 숫자를 반복하고 for 루프 루프 내에서는 os.path.dirname () 이 호출됩니다. for 루프 내에서 이 함수를 호출하면 os.path.relpath()가 파일에 대한 상대 경로를 제공하는 시작점이 됩니다.

아래는 구현입니다.


# Python getter
# 상위 디렉토리



가져오기 os.path


# 부모를 가져오는 함수

def getParent (경로, 수준 = <코드 클래스 = "값"> 1 <코드 클래스 = "일반">):

<코드 클래스 = "일반"> 공통 = 경로


# for 루프를 사용하여

#

#에 필요한 시작점 os.path.relpath()

i 범위 (레벨 + 1 ):


# 시작점

공통 = os.path.dirname (공통)

# 지정된 상위 디렉토리

# 레벨

반환 os.path.relpath (경로, 공통)


경로 <코드 클래스 = "키워드"> = <코드 클래스 = "문자열"> `D: / 파이참 프로젝트 / 파이 thon.Engineering / Nikhil / gfg.txt`

인쇄 (getParent(경로, 2 ))

종료 :