Modula platforma pirtûkxaneyê ya standard ji bo agahdariya li ser pergala xebitandinê ya ku Python li ser dixebite û guhertoya wê (berdan) tê bikar anîn. Bi karanîna vê modulê, gengaz e ku meriv pêvajoyê ji bo her OS û guhertoyê veguherîne.
Agahdariya jêrîn li vir tê dayîn.
- Navê OS -ê bistînin:
platform.system()
- Agahdariya guhertoyê (berdan) bistînin:
platform.release()
,version()
- OS û guhertoya yekser bistînin:
platform.platform()
- Nimûneyên encaman ji bo her OS
- macOS
- Windows
- Ubuntu
- Koda nimûneyê ku li gorî OS -yê pêvajoyê diguherîne
Heke hûn dixwazin guhertoya Python -a ku hûn dixebitin bizanibin, gotara jêrîn bibînin.
Hemî nimûneya kodê di nîvê yekem de li ser macOS Mojave 10.14.2 tê xebitandin; encamên mînak li ser Windows û Ubuntu di nîvê duyemîn de têne xuyang kirin; Fonksiyonên OS-yên taybetî jî di nîvê duyemîn de têne nîqaş kirin.
Navê OS -ê bistînin: platform.system ()
Navê OS -ê ji hêla platform.system () ve tê wergirtin. Nirxa vegerandinê rêzek e.
import platform
print(platform.system())
# Darwin
Agahdariya guhertoyê (berdan) bistînin: platform.release (), version ()
Agahdariya guhertoya OS (berdan) bi fonksiyonên jêrîn têne wergirtin. Di her du rewşan de, nirxa vegerandinê rêzek e.
platform.release()
platform.version()
Wekî ku di mînaka jêrîn de tê xuyang kirin, platform.release () naverokên hêsantir vedigere.
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
Yekser OS û guhertoyê bistînin: platform.platform ()
Navê OS û guhertoya (berdanê) bi karanîna platform.platform () bi hev re têne girtin. Nirxa vegerandinê rêzek e.
print(platform.platform())
# Darwin-18.2.0-x86_64-i386-64bit
Ger nirxa nîqaşa kurt be RAST e, tenê agahdariya hindiktirîn dê were vegerandin.
print(platform.platform(terse=True))
# Darwin-18.2.0
Di heman demê de nîqaşek bi navgîn jî heye.
print(platform.platform(aliased=True))
# Darwin-18.2.0-x86_64-i386-64bit
Encam di hawîrdora mînakê de yek e, lê hin pergalên xebitandinê dê wekî navê OS -ê paşnavek vegerînin.
Ger navdêr rast be, ew li şûna navê hevpar ê pergalê bi karanîna paşnavek encamê vedigere. Mînakî, SunOS dibe Solaris.
platform.platform() — Access to underlying platform’s identifying data — Python 3.10.0 Documentation
Nimûneyên encaman ji bo her OS
Nimûneyên encamên li ser macOS, Windows, û Ubuntu, û her weha fonksiyonên taybetî yên OS-ê têne xuyang kirin.
macOS
Mînaka encamê li ser macOS Mojave 10.14.2. Eynî wekî mînaka ku li jor hatî destnîşan kirin.
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
Têbînî ku ew Darwin e, ne macOS an Mojave.
Ji bo bêtir agahîya li ser Darwin, li rûpela Wikipedia binêre. Di heman demê de danasîna peywendiya di navbera hejmara guhertoya herî paşîn û navê di macOS -ê de jî heye.
Fonksiyonek taybetî ya madOS-ê heye ku jê re dibêjin platform.mac_ver ().
Nirxa vegerandinê wekî telaq (vegerandin, guhertoya agahdariyê, makîne) tê vegerandin.
Di hawîrdora mînakê de, versioninfo nenas e û tîpek rêzika vala ye.
print(platform.mac_ver())
# ('10.14.2', ('', '', ''), 'x86_64')
Windows
Mînakek encamên li ser 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
Têbînî ku nirxa vegera 10 -ê ya platform.release () rêzek e, ne hejmar e.
Fonksiyonek taybetî ya Windows-ê heye ku jê re dibêjin platform.win32_ver ().
Nirxa vegerandinê wekî tupek (berdan, guherto, csd, ptype) tê vegerandin.
csd rewşa pakêta karûbarê destnîşan dike.
print(platform.win32_ver())
# ('10', '10.0.17763', 'SP0', 'Multiprocessor Free')
Ubuntu
Mînaka encamê li ser 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
Platformek fonksiyonê ya taybetî ya Unix heye.linux_distribution ().
Nirxa vegerandinê wekî pirjimar (distname, guherto, id) tê vegerandin.
print(platform.linux_distribution())
# ('Ubuntu', '18.04', 'bionic')
Têbînî ku platform.linux_distribution () li Python 3.8 hate rakirin. Tête pêşniyar kirin ku li şûna wê distroya pirtûkxaneya partiya sêyemîn bikar bînin, ku pêdivî ye ku ew bi karanîna pip -ê veqetandî were saz kirin.
Koda nimûneyê ku li gorî OS -yê pêvajoyê diguherîne
Heke hûn dixwazin fonksiyonê an rêbaza ku li gorî OS -yê tê bikar anîn biguhezînin, hûn dikarin rêbazek wekî platform.system () bikar bînin da ku nirxê diyar bike.
Ya jêrîn mînakek wergirtina dîroka çêkirina pelê ye.
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
Di vê mînakê de, nirxa platform.system () yekem car tête bikar anîn da ku were destnîşankirin ka ew Windows e an din e.
Dûv re, ew bêtir destwerdana îstîsnayê bikar tîne da ku pêvajoyê di navbera doza ku taybetmendiya st_birthtime heye û rewşên din de biguhezîne.