pathlib.path에서 지정된 파일이 있는 폴더 이름을 가져오는 방법은 무엇입니까?
와 비슷한 것이 있습니까?os.path.dirname(path)
하지만 pathlib로?
보아하니 여기에...parents
지정된 경로의 모든 상위 디렉터리를 포함하는 요소입니다. 예를 들어, 다음으로 시작하는 경우:
>>> import pathlib
>>> p = pathlib.Path('/path/to/my/file')
그리고나서p.parents[0]
다음을 포함하는 디렉토리입니다.file
:
>>> p.parents[0]
PosixPath('/path/to/my')
...그리고.p.parents[1]
다음 부팅 디렉토리가 됩니다.
>>> p.parents[1]
PosixPath('/path/to')
기타.
p.parent
을 요청하는 또 다른 방법입니다.p.parents[0]
변환할 수 있습니다.Path
줄로 묶어서 기대하는 것과 거의 같습니다.
>>> str(p.parent)
'/path/to/my'
그리고 또 어떤 것에 대해서도.Path
사용할 수 있습니다..absolute()
절대 경로를 얻는 방법:
>>> os.chdir('/etc')
>>> p = pathlib.Path('../relative/path')
>>> str(p.parent)
'../relative'
>>> str(p.parent.absolute())
'/etc/../relative'
참고:os.path.dirname
그리고.pathlib
후행 슬래시가 있는 경로를 다르게 처리합니다.그pathlib
의 부모.some/path/
이라some
:
>>> p = pathlib.Path('some/path/')
>>> p.parent
PosixPath('some')
하는 동안에os.path.dirname
에some/path/
돌아온다some/path
:
>>> os.path.dirname('some/path/')
'some/path'
요약
from pathlib import Path
file_path = Path("/Users/yuanz/PycharmProjects/workenv/little_code/code09/sample.csv")
디르 경로를 얻다
file_path.parent
# >>> /Users/yuanz/PycharmProjects/workenv/little_code/code09
파일 이름 가져오기
file_path.name
# >>> sample.csv
파일 형식 가져오기
file_path.suffix
# >>> .csv
4.이 dir 경로에 새 파일 추가
file_path.parent.joinpath("dd.png")
저는 아주 비슷한 것을 찾으러 왔습니다.위의 @larsks를 기반으로 파일 이름을 제외한 전체 경로를 보존하고 싶다고 가정할 때 제 해결책은 다음과 같습니다.
>>> import pathlib
>>> p = pathlib.Path('/path/to/my/file')
>>> pathlib.Path('/'.join(list(p.parts)[1:-1])+'/')
기본적으로,list(p.parts)[1:-1]
두 번째부터 n-1번째까지 경로 요소 목록을 만들고 사용자가 '/'로 결합하여 결과 문자열의 경로를 만듭니다.편집 후행 슬래시에 최종 +'/'이 추가됩니다. 필요에 따라 조정합니다.
언급URL : https://stackoverflow.com/questions/35490148/how-to-get-folder-name-in-which-given-file-resides-from-pathlib-path
'programing' 카테고리의 다른 글
도커 합성이 있는 잘못된 문자 만들기 컨테이너 (0) | 2023.07.17 |
---|---|
python-requests 모듈의 모든 요청 기록 (0) | 2023.07.17 |
mgo가 삽입된 문서의 ID를 반환하지 않는 이유는 무엇입니까? (0) | 2023.07.17 |
"작업 친화적 동기화 컨텍스트 사용"의 의미는 무엇입니까? (0) | 2023.07.17 |
__eq_는 Python에서 어떻게 처리되고 어떤 순서로 처리됩니까? (0) | 2023.07.17 |