Как обращаться к относительным путям ресурсов при работе с репозиторием кода

| | | | | | | | | | |

Мы работаем с репозиторием кода, развернутым как в Windows, так и в Linux, иногда в разных каталогах. Как один из модулей внутри проекта должен ссылаться на один из не-Python-ресурсов в проекте (CSV-файлы и т. д.)?

Если мы сделаем что-то вроде:

thefile=open("test.csv") 

или:

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

Это будет работать только тогда, когда скрипт запускается из одного определенного каталога или подмножества каталогов.

Что я хотел бы сделать, это что-то вроде:

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

Возможно ли это?