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

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ś w stylu:

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

Czy to dobra droga? Czy to możliwe?

questionAnswers(7)

yourAnswerToTheQuestion