2016-09-11 1 views
3

많은 수의 파일을 사용하는 프로그램을 작성 중입니다.파일 이름을위한 파이썬 전용 클래스

class FilePath: 
    def __init__(path): 
     shazam(path) 

    def shazam(self, path): 
     """ something happens, path is formatted, etc """ 
     self.formatted_path = foobar 

것은 왜 유용 할 것이다 : 파이썬 파일 경로에 대한 붙박이 클래스를 특징으로, 또는 1 (아래처럼) 사용자가 구현해야합니까합니까?

프로그램 및 해당 데이터가 다른 운영 체제로 복사된다고 가정하십시오. 클래스는 다른 경로 구분자를 지원하기 위해 실행시 자체를 수정할 수 있습니다.

왜 직접 작성하지 않습니까?

누군가 이미 표준 Python 라이브러리에 클래스를 작성했을 수 있습니다.

+0

이 숙제가 있습니까? 귀하의 질문에 명시해야합니다. – Soviut

+0

@Soviut 아니요, 숙제가 아닙니다. – techydesigner

+0

os.path.abspath 또는 os.name을 사용하여 구별 할 수 없습니까? –

답변

2

파이썬에는 파일 시스템을 처리하기위한 여러 플랫폼 모듈 (pathsoperating system)이 있습니다.

os 모듈에는 구체적으로 os.sep 문자가 있습니다.

os.path.join()은 OS를 인식하며 경로를 결합 할 때 올바른 구분 기호를 사용합니다.

또한, os.path.normpath()은 경로를 가져 와서 기본 OS가 지원하는 것으로 구분자를 변환합니다.

1

파이썬 3.4 이후로 당신이 찾고있는 것처럼 보이는 pathlib이 있습니다. 물론 os.path의 함수도 있습니다. 그러나 객체 지향 접근법에서는 pathlib가 더 적합합니다.