Quando si scrive uno script Python che può essere eseguito in diversi ambienti del sistema operativo (Windows/* nix), quali sono alcuni buoni modi per impostare un percorso ? Nell'esempio seguente vorrei avere i file di log memorizzati nella cartella dei registri sotto la directory corrente. È un approccio accettabile (sono piuttosto nuovo per Python) o ci sono modi migliori per raggiungere questo obiettivo? GrazieQuali sono alcuni buoni modi per impostare un percorso in uno script Python supportato da più SO
if os.name == 'nt':
logdir=('%s\\logs\\') % (os.getcwd())
else:
logdir=('%s/logs/') % (os.getcwd())
logging.basicConfig(level=logging.INFO,
format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
datefmt='%m-%d-%y %H:%M:%S',
filename='%slogfile.log' % (logdir),
filemode='a')
Si noti che i sistemi operativi MS hanno accettato la barra diretta come separatore di percorso per un lungo periodo di tempo (sono le shell della riga di comando che lo hanno emesso). "/" funziona anche su OS X. Non conosco OpenVMS. L'approccio più portabile è quello che Ryan menziona, che funzionerà su tutti i sistemi operativi. – outis