How to refer to relative paths of resources when working with a code repository

We are working with a code repository which is deployed to both Windows and Linux – sometimes in different directories. How should one of the modules inside the project refer to one of the non-Python resources in the project (CSV files, etc.)?

If we do something like:

thefile = open('test.csv')

or:

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

It will work only when the script is run from one specific directory, or a subset of the directories.

What I would like to do is something like:

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

Is it possible?

9 Answers
9

Leave a Comment