Staðlaða bókasafnspallseiningin er notuð til að fá upplýsingar um stýrikerfið sem Python er í gangi og útgáfu þess (útgáfa). Með þessari einingu er hægt að skipta um ferli fyrir hvert stýrikerfi og útgáfu.
Eftirfarandi upplýsingar eru veittar hér.
- Fáðu OS nafnið:
platform.system()
- Fáðu upplýsingar um útgáfu (útgáfu):
platform.release()
,version()
- Fáðu stýrikerfi og útgáfu í einu:
platform.platform()
- Dæmi um niðurstöður fyrir hvert stýrikerfi
- macOS
- Windows
- Ubuntu
- Dæmi um kóða til að skipta um vinnslu eftir stýrikerfi
Ef þú vilt vita hvaða útgáfu af Python þú ert að keyra skaltu skoða eftirfarandi grein.
- Tengdar greinar:Athugaðu og birtu Python útgáfuna (t.d. sys.version)
Allur sýnishornakóði í fyrri hluta er keyrður á macOS Mojave 10.14.2; dæmi niðurstöður á Windows og Ubuntu eru sýndar í seinni hluta; Einnig er fjallað um OS-sérstakar aðgerðir í seinni hluta.
Fáðu stýrikerfisheitið: platform.system ()
OS nafnið er fengið með platform.system (). Skilgildið er strengur.
import platform
print(platform.system())
# Darwin
Fáðu upplýsingar um útgáfu (útgáfu): platform.release (), útgáfa ()
Upplýsingar um stýrikerfisútgáfu (útgáfu) fást með eftirfarandi aðgerðum. Í báðum tilfellum er skilagildið strengur.
platform.release()
platform.version()
Eins og sýnt er í eftirfarandi dæmi skilar platform.release () einfaldara innihaldi.
print(platform.release())
# 18.2.0
print(platform.version())
# Darwin Kernel Version 18.2.0: Mon Nov 12 20:24:46 PST 2018; root:xnu-4903.231.4~2/RELEASE_X86_64
Fáðu stýrikerfi og útgáfu í einu: platform.platform ()
Hægt er að fá upplýsingar um stýrikerfisheiti og útgáfu (útgáfu) með því að nota platform.platform (). Skilgildið er strengur.
print(platform.platform())
# Darwin-18.2.0-x86_64-i386-64bit
Ef verðmæti rökstuðningsins er satt, verður aðeins lágmarksupplýsingum skilað.
print(platform.platform(terse=True))
# Darwin-18.2.0
Það er líka rifrildi samnefnt.
print(platform.platform(aliased=True))
# Darwin-18.2.0-x86_64-i386-64bit
Niðurstaðan er sú sama í dæmiumhverfinu, en sum stýrikerfi munu skila samnefni sem OS -heiti.
Ef samnefnt er satt skilar það niðurstöðunni með samnefni í stað sameiginlegs nafns kerfisins. Til dæmis verður SunOS að Solaris.
platform.platform() — Access to underlying platform’s identifying data — Python 3.10.0 Documentation
Dæmi um niðurstöður fyrir hvert stýrikerfi
Sýnd verða dæmi um niðurstöður á macOS, Windows og Ubuntu, svo og OS-sértækar aðgerðir.
macOS
Dæmi um niðurstöðuna á macOS Mojave 10.14.2. Sama og dæmið sem sýnt er hér að ofan.
print(platform.system())
# Darwin
print(platform.release())
# 18.2.0
print(platform.version())
# Darwin Kernel Version 18.2.0: Mon Nov 12 20:24:46 PST 2018; root:xnu-4903.231.4~2/RELEASE_X86_64
print(platform.platform())
# Darwin-18.2.0-x86_64-i386-64bit
Athugið að það er Darwin, ekki macOS eða Mojave.
Nánari upplýsingar um Darwin er að finna á Wikipedia síðu. Það er einnig lýsing á samsvörun milli nýjasta útgáfunúmersins og nafnsins í macOS.
Það er madOS-sértæk aðgerð sem kallast platform.mac_ver ().
Skilagildinu er skilað sem túpa (útgáfa, útgáfuupplýsingar, vél).
Í dæmiumhverfinu er versioninfo óþekkt og er tóm strengjaþráður.
print(platform.mac_ver())
# ('10.14.2', ('', '', ''), 'x86_64')
Windows
Dæmi um niðurstöður á Windows 10 Home.
print(platform.system())
# Windows
print(platform.release())
# 10
print(platform.version())
# 10.0.17763
print(platform.platform())
# Windows-10-10.0.17763-SP0
Athugið að skilagildi 10 platform.release () er strengur, ekki heil tala.
Það er Windows-sértæk aðgerð sem kallast platform.win32_ver ().
Skilagildinu er skilað sem túpa (útgáfa, útgáfa, csd, ptype).
csd gefur til kynna stöðu þjónustupakkans.
print(platform.win32_ver())
# ('10', '10.0.17763', 'SP0', 'Multiprocessor Free')
Ubuntu
Dæmi um niðurstöðuna á Ubuntu 18.04.1 LTS.
print(platform.system())
# Linux
print(platform.release())
# 4.15.0-42-generic
print(platform.version())
# #45-Ubuntu SMP Thu Nov 15 19:32:57 UTC 2018
print(platform.platform())
# Linux-4.15.0-44-generic-x86_64-with-Ubuntu-18.04-bionic
Það er Unix-sérstakur virka pallur.linux_distribution ().
Skilgildinu er skilað sem túpa (fjarnafn, útgáfa, auðkenni).
print(platform.linux_distribution())
# ('Ubuntu', '18.04', 'bionic')
Athugið að platform.linux_distribution () hefur verið fjarlægt í Python 3.8. Mælt er með því að nota dreifingu bókasafns þriðja aðila í staðinn sem þarf að setja upp sérstaklega með pip.
Dæmi um kóða til að skipta um vinnslu eftir stýrikerfi
Ef þú vilt skipta um þá aðgerð eða aðferð sem á að nota eftir stýrikerfi geturðu notað aðferð eins og platform.system () til að ákvarða gildið.
Eftirfarandi er dæmi um hvernig hægt er að búa til dagsetningu skráar.
def creation_date(path_to_file):
"""
Try to get the date that a file was created, falling back to when it was
last modified if that isn't possible.
See http://stackoverflow.com/a/39501288/1709587 for explanation.
"""
if platform.system() == 'Windows':
return os.path.getctime(path_to_file)
else:
stat = os.stat(path_to_file)
try:
return stat.st_birthtime
except AttributeError:
# We're probably on Linux. No easy way to get creation dates here,
# so we'll settle for when its content was last modified.
return stat.st_mtime
Í þessu dæmi er verðmæti platform.system () fyrst notað til að ákvarða hvort það er Windows eða annað.
Síðan notar það ennfremur undantekningarmeðferð til að skipta ferlinu milli málsins þar sem st_birthtime eiginleiki er til og hinna tilfella.