Attualmente utilizzo sempre il os.path.join
nel mio progetto django per il supporto del sistema operativo trasversale; gli unici posti in cui attualmente non lo uso sono per i nomi dei modelli e per gli URL. Quindi nelle situazioni in cui voglio il percorso '/path/to/some/file.ext'
io uso os.path.join('path', 'to', 'some', 'file.ext')
.È necessario os.path.join?
Comunque ho appena provato il mio progetto su finestre per vedere se questo ha funzionato bene/era necessario e sembra finestre sarà lieto di accettare '/'
o '\\'
(o '\'
quando si lavora al di fuori del pitone), e, come tutti i sistemi UNIX usano tutti '/'
esso sembra che non ci sia motivo per usare mai '\\'
, nel qual caso è necessario utilizzare os.path.join
ovunque?
C'è una situazione in cui l'aggiunta di un-o l'utilizzo di posixpath
causerà problemi su determinati sistemi operativi (ad esclusione di XP o inferiore in quanto non sono più ufficialmente supportati)? Se non penso, userò semplicemente posixpath
o aggiungo uno '/'
per unire le variabili con altre variabili o variabili con stringhe e non separare i percorsi delle stringhe (quindi lasciatelo come '/path/to/some/file.ext'
) a meno che non ci sia un altro motivo per non farlo diversamente da rompere le cose.
Per evitare che questo sia potenzialmente chiuso in quanto principalmente basato sull'opinione, vorrei chiarire che la mia domanda specifica è se l'uso di os.path.join
causerà mai un programma python non funzionare come previsto su un sistema operativo supportato.
Anche se forse troppo esoterico per una risposta, l'uso di un separatore di percorso hardcoded causerà la non portabilità con il sistema RISC .. (e [ci sono porte] (https: // www. python.org/download/other/) a tale) – user2864740
RISC OS è compatibile con django, nginx, supervisor e varie librerie di django? Altrimenti non avrò bisogno di preoccuparmene per questo progetto, ma se lo è, potrebbe valere la pena di pensarci. – semicolon