코드 리포지토리로 작업할 때 리소스의 상대 경로를 참조하는 방법

| | | | | | | | | | |

우리는 Windows와 Linux 모두에 배포되는 코드 저장소로 작업하고 있습니다. 때로는 다른 디렉토리에 있습니다. 프로젝트 내부의 모듈 중 하나가 프로젝트의 비 Python 리소스 중 하나(CSV 파일 등)를 어떻게 참조해야 하나요?

다음과 같은 작업을 수행하는 경우:

thefile=open("test.csv") 

또는:

thefile=open("../somedirectory/test.csv") 

스크립트가 하나의 특정 디렉토리 또는 디렉토리의 하위 집합에서 실행될 때만 작동합니다.

하고 싶은 작업은 다음과 같습니다.

path=getBasePathOfProject()+"/somedirectory/test.csv" thefile=open(path) 

가능한가요?