ave populus,
ho uno script che deve girare su piattaforme win && linux, c'è e quale è l'istruzione che serve a conoscere il sistema op. utilizzato?
Un pò come in C che si usa la direttiva condizionale #ifdef.
ave populus,
ho uno script che deve girare su piattaforme win && linux, c'è e quale è l'istruzione che serve a conoscere il sistema op. utilizzato?
Un pò come in C che si usa la direttiva condizionale #ifdef.
di preciso non saprei....ma potresti far lanciare al tuo script un comando (per esempio tipico di windows e vedere se viene eseguito correttamente...se così non fosse ti troveresti su una macchina UNIX.....
è la prima cosa che mi è venuta in mente....ma potrebbe essere un idea...
LINUX
Powered by Ubuntu
Powered by MacOS X
...vivi la tua vita come se ogni giorno fosse l'ultimo, poichè un giorno lo sarà...
codice:import sys sys.platform # Descrizione breve del sistema operativo sys.version # Versione dell'interprete, generalmente trovi # anche delle info sule compilatore/sistema operativo![]()
okOriginariamente inviato da Wave
di preciso non saprei....ma potresti far lanciare al tuo script un comando (per esempio tipico di windows e vedere se viene eseguito correttamente...se così non fosse ti troveresti su una macchina UNIX.....
è la prima cosa che mi è venuta in mente....ma potrebbe essere un idea...
allora io provo a fare:
poi però come faccio da script a sapere se il comando è stato eseguito?codice:... os.system("ver") # esempio: VER dovrebbe essere un comando eslusivo di win ...
mi ai preceduto...lo avevo appena trovato nella documentazione.....Originariamente inviato da Fox82
codice:import sys sys.platform # Descrizione breve del sistema operativo sys.version # Versione dell'interprete, generalmente trovi # anche delle info sule compilatore/sistema operativo![]()
ciao cioa
LINUX
Powered by Ubuntu
Powered by MacOS X
...vivi la tua vita come se ogni giorno fosse l'ultimo, poichè un giorno lo sarà...
Originariamente inviato da Fox82
codice:import sys sys.platform # Descrizione breve del sistema operativo sys.version # Versione dell'interprete, generalmente trovi # anche delle info sule compilatore/sistema operativo![]()
domanda che mi è venuta guardando la documentazione....
dovrebbe anche questo funzionare giusto???o mi sbaglio???codice:os.name
LINUX
Powered by Ubuntu
Powered by MacOS X
...vivi la tua vita come se ogni giorno fosse l'ultimo, poichè un giorno lo sarà...
c'e' un modulo apposta, fai import platform e help(platform)
Comunque os.system('ver') ritorna l'exit status, per avere l'output fai:
r = os.popen('ver')
output = r.read()
cmq sys.platform ritorna (in caso di win) 'win32'Originariamente inviato da Fox82
codice:import sys sys.platform # Descrizione breve del sistema operativo sys.version # Versione dell'interprete, generalmente trovi # anche delle info sule compilatore/sistema operativo![]()
come si può (se si può) fare per sapere esattamente la versione del sistema operativo (2000, XP, 98...)?
guarda con il modulo che ti ha suggerito Lethalman puoi scoprire molte cse della piattaforma su cui gira lo script....
per quanto riguarda windows la cosa migliore che ho trovato è questa:
non so se fa al caso tuo....codice:win32_ver(release='', version='', csd='', ptype='') Get additional version information from the Windows Registry and return a tuple (version,csd,ptype) referring to version number, CSD level and OS type (multi/single processor). As a hint: ptype returns 'Uniprocessor Free' on single processor NT machines and 'Multiprocessor Free' on multi processor machines. The 'Free' refers to the OS version being free of debugging code. It could also state 'Checked' which means the OS version uses debugging code, i.e. code that checks arguments, ranges, etc. (Thomas Heller). Note: this function only works if Mark Hammond's win32 package is installed and obviously only runs on Win32 compatible platforms.
cmq sia se dalla console python fai
import platform
help(platform)
puoi vedere tutti i comandi di quel modulo alcuni molto interessanti...
LINUX
Powered by Ubuntu
Powered by MacOS X
...vivi la tua vita come se ogni giorno fosse l'ultimo, poichè un giorno lo sarà...
Originariamente inviato da Wave
guarda con il modulo che ti ha suggerito Lethalman puoi scoprire molte cse della piattaforma su cui gira lo script....
per quanto riguarda windows la cosa migliore che ho trovato è questa:
ok grassiecodice:win32_ver(release='', version='', csd='', ptype='') Get additional version information from the Windows Registry and return a tuple (version,csd,ptype) referring to version number, CSD level and OS type (multi/single processor). As a hint: ptype returns 'Uniprocessor Free' on single processor NT machines and 'Multiprocessor Free' on multi processor machines. The 'Free' refers to the OS version being free of debugging code. It could also state 'Checked' which means the OS version uses debugging code, i.e. code that checks arguments, ranges, etc. (Thomas Heller). Note: this function only works if Mark Hammond's win32 package is installed and obviously only runs on Win32 compatible platforms.
non so se fa al caso tuo....
cmq sia se dalla console python fai
import platform
help(platform)
puoi vedere tutti i comandi di quel modulo alcuni molto interessanti...