Python 홈 디렉토리 가져오기
이 튜토리얼에서는 Python에서 os.path.expanduser
또는 pathlib
라이브러리를 사용하여 홈 디렉토리의 경로를 가져오는 방법에 대해 설명합니다.
Python에서 os.path.expanduser
모듈을 사용하여 홈 디렉토리 가져오기
사용자의 홈 디렉토리를 얻으려면 Python에서 os.path.expanduser
를 사용할 수 있습니다. os.path.expanduser()
함수 내부에 문자열 문자 ~
를 전달해야 현재 로그인한 사용자의 홈 디렉토리 경로를 반환합니다.
내장 비밀번호 데이터베이스 또는 pwd
모듈을 사용하여 홈 디렉토리의 경로를 검색하고 pwd
모듈은 로그인 이름 및 비밀번호와 같은 사용자의 계정 세부 정보를 제공합니다. 이 모듈은 Windows 및 Linux와 같은 모든 플랫폼에서 작동합니다.
예를 들어 os.path.expanduser
모듈을 사용하여 홈 디렉토리를 가져옵니다. 아래 코드를 참조하십시오.
from os.path import expanduser
home_directory = expanduser("~")
print(home_directory)
출력:
C:\Users\ammar
위의 코드는 Windows에서 테스트되었으며 사용자 및 플랫폼에 따라 출력이 변경될 수 있습니다. 현재 로그인하지 않은 다른 사용자의 홈 디렉토리 경로를 찾으려면 위 코드에서 ~
문자 뒤에 사용자 이름을 추가할 수 있습니다.
홈 디렉토리 경로를 다른 경로와 결합하는 것과 같이 os.path.join()
함수를 사용하여 두 경로를 결합할 수도 있습니다. os.path.join()
함수 내에서 결합하려는 경로를 전달할 수 있습니다.
예를 들어 os.path.join()
함수를 사용하여 위의 경로를 다른 경로와 연결해 보겠습니다. 아래 코드를 참조하십시오.
from os.path import expanduser, join
home_directory = expanduser("~")
new_directory = join(home_directory, "newPathName")
print(home_directory)
print(new_directory)
출력:
C:\Users\ammar
C:\Users\ammar\newPathName
위의 코드에서는 홈 디렉토리 경로를 다른 경로와 연결했습니다. 2개 이상과 같이 여러 경로를 함께 연결할 수도 있습니다.
일부 문자와 결합된 백슬래시가 올바른 결과를 출력하지 않기 때문에 join()
함수 내부에 백슬래시 \
와 같은 특수 문자를 추가할 수 없습니다. 예를 들어 위의 경로를 newPathName\tpath2
로 변경하면 \t
가 문자열에서 탭 공간으로 사용되기 때문에 결과에 탭 공간이 포함됩니다.
join()
함수 내에 각 경로를 개별적으로 추가하는 것이 좋습니다. 예를 들어 위의 경로와 다른 경로를 연결하려면 세 번째 인수로 전달해야 하며 join()
함수는 새 경로의 끝에 이를 넣고 백슬래시가 추가됩니다. 자동으로.
아래 예제 코드를 참조하십시오.
join(path1, path2, path3, ....)
코드 내에서 사용하기 전에 join()
및 expanduser()
기능을 가져와야 합니다. 자세한 내용은 os.path.expanduser
라이브러리를 확인하십시오.
Python에서 pathlib
라이브러리를 사용하여 홈 디렉토리 가져오기
또한 pathlib
라이브러리를 사용하여 home()
기능을 사용하여 홈 디렉토리의 경로를 가져올 수 있습니다. 예를 들어 pathlib
라이브러리를 사용하여 홈 디렉토리를 찾아봅시다.
아래 코드를 참조하십시오.
from pathlib import Path
home_directory = str(Path.home())
print(home_directory)
출력:
C:\Users\ammar
위의 코드에서 str
함수를 사용하여 home()
함수의 출력을 문자열로 변환했습니다. 이는 모든 플랫폼(예: Windows 및 Linux)에서 작동합니다. 그러나 사용자 및 플랫폼에 따라 출력이 변경될 수 있습니다.
또한 pathlib
라이브러리의 PureWindowsPath().joinPath()
기능을 사용하여 둘 이상의 경로를 결합할 수 있습니다. 시작 경로는 PureWindowsPath()
함수 내에서 전달되고 새 경로는 joinPath()
함수에 추가되어 하나의 결합된 경로를 얻습니다.
예를 들어 PureWindowsPath().joinPath()
함수를 사용하여 위의 경로를 두 개의 경로와 결합해 보겠습니다. 아래 코드를 참조하십시오.
from pathlib import Path, PureWindowsPath
home_directory = Path.home()
new_directory = PureWindowsPath(home_directory).joinpath("newPathName", "path2")
print(home_directory)
print(new_directory)
출력:
C:\Users\ammar
C:\Users\ammar\newPathName\path2
위의 코드에서는 두 개의 경로를 추가했지만 원하는 만큼 경로를 추가할 수 있지만 동일한 문자열 내에서 백슬래시를 사용하지 않아야 합니다. 일부 특수 문자와 결합된 백슬래시로 인해 \n
이 새 줄을 추가하고 \t
가 출력에 탭 공간을 추가하는 것과 같은 문제가 발생하기 때문입니다.
joinPath()
함수 내에 각 경로를 개별적으로 추가하는 것이 좋습니다.
코드 내에서 사용하기 전에 Path()
및 PureWindowsPath()
함수를 가져와야 합니다. 자세한 내용은 pathlib
라이브러리를 확인하십시오.