मानक पुस्तकालय प्लेटफर्म मोड्युल अपरेटि system सिस्टम जसमा अजगर चलिरहेको छ र यसको संस्करण (रिलीज) को ’bout मा जानकारी प्राप्त गर्न को लागी प्रयोग गरीन्छ। यो मोड्युल को उपयोग गरेर, यो प्रत्येक ओएस र संस्करण को लागी प्रक्रिया स्विच गर्न सम्भव छ।
निम्न जानकारी यहाँ प्रदान गरीएको छ।
- ओएस नाम पाउनुहोस्:
platform.system() - संस्करण (रिलीज) जानकारी प्राप्त गर्नुहोस्:
platform.release(),version() - एक पटक मा ओएस र संस्करण पाउनुहोस्:
platform.platform() - प्रत्येक ओएस को लागी परिणाम को उदाहरण
- macOS
- Windows
- Ubuntu
- नमूना कोड ओएस मा निर्भर प्रसंस्करण स्विच गर्न
यदि तपाइँ पायथन को संस्करण जान्न चाहानुहुन्छ तपाइँ दौडिरहनुभएको छ, निम्न लेख हेर्नुहोस्।
- सम्बन्धित लेख:जाँच र अजगर संस्करण प्रदर्शन (जस्तै sys.version)
पहिलो आधा मा सबै नमूना कोड macOS Mojave 10.14.2 मा चलाइएको छ; विन्डोज र Ubuntu मा उदाहरण को परिणाम दोस्रो आधा मा देखाइन्छ; OS- विशिष्ट प्रकार्यहरु पनि दोस्रो आधा मा छलफल गरीन्छ।
ओएस नाम पाउनुहोस्: platform.system ()
ओएस नाम platform.system () द्वारा प्राप्त गरीएको छ। फिर्ता मान एक स्ट्रि हो।
import platform
print(platform.system())
# Darwin
संस्करण (रिलीज) जानकारी प्राप्त: platform.release (), संस्करण ()
ओएस संस्करण (रिलीज) जानकारी निम्न प्रकार्यहरु संग प्राप्त हुन्छ। दुबै अवस्थामा, फिर्ता मान एक स्ट्रि हो।
platform.release()platform.version()
निम्न उदाहरण मा देखाइएको छ, platform.release () सरल सामाग्री फिर्ता।
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
एक पटक मा ओएस र संस्करण पाउनुहोस्: platform.platform ()
ओएस नाम र संस्करण (रिलीज) जानकारी platform.platform () को उपयोग गरी एक साथ प्राप्त गर्न सकिन्छ। फिर्ता मान एक स्ट्रि हो।
print(platform.platform())
# Darwin-18.2.0-x86_64-i386-64bit
यदि तर्क terse को मूल्य TRUE हो, मात्र न्यूनतम जानकारी फिर्ता गरिनेछ।
print(platform.platform(terse=True))
# Darwin-18.2.0
त्यहाँ एक तर्क aliased पनि छ।
print(platform.platform(aliased=True))
# Darwin-18.2.0-x86_64-i386-64bit
परिणाम उदाहरण वातावरण मा उस्तै छ, तर केहि अपरेटि systems्ग सिस्टम ओएस नाम को रूप मा एक उपनाम फिर्ता आउनेछ।
यदि उपनाम सही छ, यो प्रणाली को सामान्य नाम को सट्टा एक उपनाम प्रयोग गरी परिणाम फर्काउँछ। उदाहरण को लागी, SunOS Solaris बन्छ।
platform.platform() — Access to underlying platform’s identifying data — Python 3.10.0 Documentation
प्रत्येक ओएस को लागी परिणाम को उदाहरण
MacOS, विन्डोज, र Ubuntu मा परिणाम को उदाहरण, साथै OS- विशिष्ट कार्यहरु देखाइनेछ।
macOS
MacOS Mojave 10.14.2 मा परिणाम को उदाहरण। माथि देखाइएको उदाहरण जस्तै।
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
ध्यान दिनुहोस् कि यो डार्विन हो, macOS वा Mojave हैन।
डार्विन को ’bout मा अधिक जानकारी को लागी, विकिपीडिया पृष्ठ हेर्नुहोस्। त्यहाँ पनी नवीनतम संस्करण संख्या र macOS मा नाम को बीच पत्राचार को एक विवरण छ।
त्यहाँ एक madOS- विशिष्ट समारोह platform.mac_ver () भनिन्छ।
फिर्ता मूल्य एक tuple (रिलीज, versioninfo, मेशिन) को रूप मा फिर्ता आउँछ।
उदाहरण को वातावरण मा, versioninfo अज्ञात छ र एक खाली स्ट्रि t tuple छ।
print(platform.mac_ver())
# ('10.14.2', ('', '', ''), 'x86_64')
विन्डोज
विन्डोज १० घर मा परिणाम को उदाहरण।
print(platform.system())
# Windows
print(platform.release())
# 10
print(platform.version())
# 10.0.17763
print(platform.platform())
# Windows-10-10.0.17763-SP0
ध्यान दिनुहोस् कि platform.release () को फिर्ती मान १० एक स्ट्रि string हो, एक पूर्णांक होइन।
त्यहाँ एक Windows विशिष्ट प्रकार्य भनिन्छ platform.win32_ver ()।
फिर्ता मूल्य एक tuple (रिलीज, संस्करण, सीएसडी, ptype) को रूप मा फिर्ता आउँछ।
csd सर्विस प्याक को स्थिति लाई संकेत गर्दछ।
print(platform.win32_ver())
# ('10', '10.0.17763', 'SP0', 'Multiprocessor Free')
उबुन्टु
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
त्यहाँ एक यूनिक्स विशिष्ट समारोह platform.linux_distribution () छ।
फिर्ता मूल्य एक tuple (distname, संस्करण, आईडी) को रूप मा फिर्ता आउँछ।
print(platform.linux_distribution())
# ('Ubuntu', '18.04', 'bionic')
ध्यान दिनुहोस् कि platform.linux_distribution () अजगर ३.8 मा हटाइएको छ। यो सट्टा तेस्रो पक्ष पुस्तकालय distro को उपयोग गर्न को लागी सिफारिश गरीएको छ, जो अलग पिप को उपयोग गरी स्थापित गर्न को लागी आवश्यक छ।
नमूना कोड ओएस मा निर्भर प्रसंस्करण स्विच गर्न
यदि तपाइँ प्रकार्य वा विधि OS मा निर्भर गर्न को लागी प्रयोग गर्न को लागी स्विच गर्न चाहानुहुन्छ, तपाइँ एक विधि जस्तै platform.system () मान को निर्धारण गर्न को लागी प्रयोग गर्न सक्नुहुन्छ।
तल एउटा फाइल को निर्माण मिति प्राप्त गर्ने एउटा उदाहरण हो।
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
यस उदाहरण मा, platform.system () को मान पहिले यो विन्डोज वा अन्य हो कि भनेर निर्धारण गर्न को लागी प्रयोग गरीन्छ।
त्यसोभए, यो थप अपवाद ह्यान्डलिंग को उपयोग गर्दछ केस को बीच प्रक्रिया स्विच गर्न को लागी जहाँ st_birthtime विशेषता अवस्थित छ र अन्य केसहरु।


