확장하기 전에, 전체 경로의 이름에 접미사를 추가

Tomerikoo :

나는에서 내 코드의 일부를 이동하고 os.pathpathlib.Path그리고 일반적으로 훨씬 낫다는 것을 발견했다.

특정 작업에 그 사실을 발견 os.path사용하는 것이 더 편안 할 수 있습니다. 나는 주어진 일에서, 그 이름에 접미사를 추가하고 같은 루트 및 확장을 유지하여 새로운 경로를 만들려고합니다. 예를 들어,에서 :

/a/b/c/file.txt

난 갖길 원해:

/a/b/c/file_test.txt

사용 os.path하여이 쉽게 수행 할 수 있습니다, splitext:

>>> import os
>>> path = "/a/b/c/file.txt"
>>> base, ext = os.path.splitext(path)
>>> base + "_test" + ext
'/a/b/c/file_test.txt'

그러나, 오버가는 pathlib의 문서를 , 나는 발견 with_namewith_suffix와 같은 것을 가지고 :

>>> from pathlib import Path
>>> path = Path("/a/b/c/file.txt")
>>> path.with_suffix('').with_name(path.stem + "_test").with_suffix(path.suffix)
PosixPath('/a/b/c/file_test.txt')

어느 나는보다 훨씬 더 나쁘다 생각 os.path버전.

이것을 달성하는 더 나은, 청소기 방법이 있나요 pathlib?

티에리 LATHUILLE :

당신의 접근 방식의 일부를 혼합, 당신은 할 수 있습니다 :

from pathlib import Path

path = Path("/a/b/c/file.txt")
path.with_name(path.stem + '_test' + path.suffix)
# PosixPath('/a/b/c/file_test.txt')

추천

출처http://10.200.1.11:23101/article/api/json?id=406283&siteId=1