Come fare riferimento ai percorsi relativi delle risorse quando si lavora con un repository di codice

| | |

Stiamo lavorando con un repository di codice distribuito sia su Windows che su Linux, a volte in directory diverse. In che modo uno dei moduli all'interno del progetto dovrebbe fare riferimento a una delle risorse non Python nel progetto (file CSV, ecc.)?

Se facciamo qualcosa del tipo:

thefile=open("test.csv") 

oppure:

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

Funzionerà solo quando lo script viene eseguito da una directory specifica o da un sottoinsieme delle directory.

Quello che vorrei fare è qualcosa del tipo:

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

È possibile?