Jak odwoływać się do względnych ścieżek zasobów podczas pracy z repozytorium kodu?

| | | | | | | | | | |

Pracujemy z repozytorium kodu, które jest wdrażane zarówno w systemie Windows, jak i Linux - czasami w różnych katalogach. W jaki sposób jeden z modułów w projekcie powinien odnosić się do jednego z zasobów innych niż Python w projekcie (pliki CSV itp.)?

Jeśli zrobimy coś takiego:

thefile=open("test.csv") 

lub:

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

Będzie działać tylko wtedy, gdy skrypt jest uruchamiany z jednego określonego katalogu lub podzbioru katalogów.

Chciałbym zrobić coś takiego:

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

Czy to możliwe?