वातावरणात चालणाऱ्या पायथनच्या OS आणि आवृत्तीबद्दल माहिती मिळवा.

व्यवसाय

पायथन ज्या ऑपरेटिंग सिस्टमवर चालू आहे आणि त्याची आवृत्ती (रिलीझ) बद्दल माहिती मिळवण्यासाठी स्टँडर्ड लायब्ररी प्लॅटफॉर्म मॉड्यूलचा वापर केला जातो. या मॉड्यूलचा वापर करून, प्रत्येक OS आणि आवृत्तीसाठी प्रक्रिया बदलणे शक्य आहे.

खालील माहिती येथे दिली आहे.

  • ओएस नाव मिळवा:platform.system()
  • आवृत्ती (प्रकाशन) माहिती मिळवा:platform.release(),version()
  • OS आणि आवृत्ती एकाच वेळी मिळवा:platform.platform()
  • प्रत्येक OS साठी परिणामांची उदाहरणे
    • macOS
    • Windows
    • Ubuntu
  • OS वर अवलंबून प्रक्रिया स्विच करण्यासाठी नमुना कोड

आपण चालवत असलेल्या पायथनची आवृत्ती जाणून घ्यायची असल्यास खालील लेख पहा.

पहिल्या सहामाहीत सर्व नमुना कोड macOS Mojave 10.14.2 वर चालवला जातो; विंडोज आणि उबंटूवरील उदाहरणाचे परिणाम दुसऱ्या सहामाहीत दाखवले जातात; ओएस-विशिष्ट फंक्शन्सवर दुसऱ्या सहामाहीत चर्चा केली जाते.

ओएस नाव मिळवा: platform.system ()

OS चे नाव platform.system () द्वारे प्राप्त केले जाते. परतावा मूल्य एक स्ट्रिंग आहे.

import platform

print(platform.system())
# Darwin

आवृत्ती (प्रकाशन) माहिती मिळवा: platform.release (), आवृत्ती ()

खालील आवृत्त्यांसह OS आवृत्ती (प्रकाशन) माहिती प्राप्त होते. दोन्ही प्रकरणांमध्ये, परतावा मूल्य एक स्ट्रिंग आहे.

  • 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

OS आणि आवृत्ती एकाच वेळी मिळवा: platform.platform ()

OS चे नाव आणि आवृत्ती (प्रकाशन) माहिती platform.platform () वापरून मिळू शकते. परतावा मूल्य एक स्ट्रिंग आहे.

print(platform.platform())
# Darwin-18.2.0-x86_64-i386-64bit

जर युक्तिवादाचे मूल्य खरे असेल तर फक्त किमान माहिती परत केली जाईल.

print(platform.platform(terse=True))
# Darwin-18.2.0

एक तर्क देखील उपनाम आहे.

print(platform.platform(aliased=True))
# Darwin-18.2.0-x86_64-i386-64bit

उदाहरण वातावरणात परिणाम सारखाच आहे, परंतु काही ऑपरेटिंग सिस्टम ओएस नाव म्हणून एक उपनाम परत करतील.

उपनाम खरे असल्यास, ते सिस्टमच्या सामान्य नावाऐवजी उपनाम वापरून निकाल देते. उदाहरणार्थ, सनओएस सोलारिस बनतो.
platform.platform() — Access to underlying platform’s identifying data — Python 3.10.0 Documentation

प्रत्येक 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 मधील नाव यांच्यातील पत्रव्यवहाराचे वर्णन देखील आहे.

Platform.mac_ver () नावाचे एक madOS- विशिष्ट कार्य आहे.
रिटर्न व्हॅल्यू टपल (रिलीज, वर्जनइन्फो, मशीन) म्हणून परत केली जाते.
उदाहरण वातावरणात, versioninfo अज्ञात आहे आणि एक रिक्त स्ट्रिंग टपल आहे.

print(platform.mac_ver())
# ('10.14.2', ('', '', ''), 'x86_64')

विंडोज

विंडोज 10 होमवरील परिणामांचे उदाहरण.

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 () चे रिटर्न मूल्य 10 एक स्ट्रिंग आहे, पूर्णांक नाही.

एक विंडोज-विशिष्ट फंक्शन आहे ज्याला platform.win32_ver () म्हणतात.
रिटर्न व्हॅल्यू टपल (रिलीज, व्हर्जन, सीएसडी, पीटीईपी) म्हणून परत केली जाते.
सीएसडी सर्व्हिस पॅकची स्थिती दर्शवते.

print(platform.win32_ver())
# ('10', '10.0.17763', 'SP0', 'Multiprocessor Free')

उबंटू

उबंटू 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

एक युनिक्स-विशिष्ट फंक्शन प्लॅटफॉर्म आहे. Linux_distribution ().
परतावा मूल्य टपल (डिस्टनेम, आवृत्ती, आयडी) म्हणून परत केले जाते.

print(platform.linux_distribution())
# ('Ubuntu', '18.04', 'bionic')

लक्षात घ्या की platform.linux_distribution () पायथन 3.8 मध्ये काढले गेले आहे. त्याऐवजी थर्ड पार्टी लायब्ररी डिस्ट्रो वापरण्याची शिफारस केली जाते, ज्याला पाईप वापरून स्वतंत्रपणे स्थापित करणे आवश्यक आहे.

OS वर अवलंबून प्रक्रिया स्विच करण्यासाठी नमुना कोड

जर तुम्हाला 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 विशेषता अस्तित्वात असलेल्या प्रकरण आणि इतर प्रकरणांमध्ये प्रक्रिया बदलण्यासाठी अपवाद हाताळणीचा वापर करते.