Sto creando un'applicazione che memorizza i file BLOB nel disco rigido, ma questo script deve essere eseguito sia in linux che in windows, il problema è che voglio dargli un percorso assoluto da il root del filesystem e non uno relativo ai file di progetto, questo perché sto usando git e non voglio occuparmi di escludere tutti questi file dalla sincronizzazione.Utilizzo di percorsi unix assoluti in windows con python
quindi mi piacerebbe avere qualcosa di simile:
path = '/var/lib/blob_files/'
file = open(path+'myfile.blob', 'w')
e ottenere un file in unix a:
/var/lib/blob_files/myfile.blob
e finestre:
C:\var\lib\blob_files\myfile.blob
che poteva anche essere relativo alla cartella home dell'utente (/ home/utente in unix e C:/Users/User in windows) ma suppongo che il problema sia molto simile.
Come posso ottenere questo? c'è qualche libreria o funzione che può aiutarmi in modo trasparente a convertire questi percorsi senza dover chiedere in quale piattaforma è sempre in esecuzione lo script?
delle mie due opzioni, assoluto da root o relativo dalla cartella home, quale si consiglia di utilizzare?
Grazie in anticipo per qualsiasi consiglio su questo
possibile duplicato del [percorsi di file indipendente dalla piattaforma?] (Http://stackoverflow.com/questions/6036129/platform-independent-file-paths) – dm03514
Non un duplicato. Andiamo ragazzi, diamo una pausa alle nuove persone. –
Non sono sicuro del motivo per cui pensi di aver bisogno di un percorso assoluto "perché sto usando git e non voglio occuparmi di escludere tutti questi file". Come segue?In ogni caso, sembra che qui abbia più senso il parente di casa, perché gli utenti di Windows non avranno una directory chiamata 'C: \ var \ lib \', quindi creare 'C: \ var \ lib \ blob_files' sarà strano , ma la creazione dell'equivalente di Windows di ~ ~/.blob_files' è perfettamente ragionevole. – abarnert