programing

pathlib.path에서 지정된 파일이 있는 폴더 이름을 가져오는 방법은 무엇입니까?

topblog 2023. 7. 17. 20:31
반응형

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

반응형