ماحول میں چلنے والے ازگر کے OS اور ورژن کے بارے میں معلومات حاصل کریں۔

کاروبار

معیاری لائبریری پلیٹ فارم ماڈیول آپریٹنگ سسٹم کے بارے میں معلومات حاصل کرنے کے لیے استعمال ہوتا ہے جس پر ازگر چل رہا ہے اور اس کا ورژن (ریلیز)۔ اس ماڈیول کا استعمال کرتے ہوئے ، ہر OS اور ورژن کے لیے عمل کو تبدیل کرنا ممکن ہے۔

درج ذیل معلومات یہاں فراہم کی گئی ہیں۔

  • OS کا نام حاصل کریں:platform.system()
  • ورژن (ریلیز) کی معلومات حاصل کریں:platform.release()،version()
  • OS اور ورژن ایک ساتھ حاصل کریں:platform.platform()
  • ہر OS کے نتائج کی مثالیں۔
    • macOS
    • Windows
    • Ubuntu
  • OS پر منحصر پروسیسنگ کو تبدیل کرنے کے لیے نمونہ کوڈ۔

اگر آپ ازگر کے ورژن کو جاننا چاہتے ہیں جو آپ چلا رہے ہیں تو ، مندرجہ ذیل مضمون دیکھیں۔

پہلے نصف میں تمام نمونہ کوڈ macOS Mojave 10.14.2 پر چلتا ہے۔ ونڈوز اور اوبنٹو پر مثال کے نتائج دوسرے نصف میں دکھائے گئے ہیں۔ OS کے مخصوص افعال پر دوسرے نصف میں بھی تبادلہ خیال کیا گیا ہے۔

OS کا نام حاصل کریں: platform.system ()

OS کا نام platform.system () کے ذریعے حاصل کیا گیا ہے۔ واپسی کی قیمت ایک تار ہے۔

import platform

print(platform.system())
# Darwin

ورژن (ریلیز) کی معلومات حاصل کریں: platform.release () ، version ()

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 کا نام اور ورژن (ریلیز) پلیٹ فارم ڈاٹ پلیٹ فارم () کا استعمال کرتے ہوئے حاصل کیا جا سکتا ہے۔ واپسی کی قیمت ایک تار ہے۔

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

نتیجہ مثال کے ماحول میں ایک جیسا ہے ، لیکن کچھ آپریٹنگ سسٹم OS کے نام کے طور پر ایک عرف واپس کریں گے۔

اگر الیاسڈ سچ ہے تو ، یہ سسٹم کے عام نام کی بجائے عرف استعمال کرکے نتیجہ لوٹاتا ہے۔ مثال کے طور پر ، SunOS سولاریس بن جاتا ہے۔
platform.platform() — Access to underlying platform’s identifying data — Python 3.10.0 Documentation

ہر OS کے نتائج کی مثالیں۔

میک او ایس ، ونڈوز اور اوبنٹو پر نتائج کی مثالوں کے ساتھ ساتھ 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

نوٹ کریں کہ یہ ڈارون ہے ، میکوس یا موجاوی نہیں۔
ڈارون کے بارے میں مزید معلومات کے لیے ، ویکیپیڈیا کا صفحہ دیکھیں۔ تازہ ترین ورژن نمبر اور میک او ایس میں نام کے درمیان خط و کتابت کی تفصیل بھی موجود ہے۔

ایک madOS مخصوص فنکشن ہے جسے platform.mac_ver () کہا جاتا ہے۔
واپسی کی قیمت بطور ٹوپل (ریلیز ، ورژن انفو ، مشین) لوٹائی جاتی ہے۔
مثال کے ماحول میں ، 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 کے لحاظ سے استعمال ہونے والے فنکشن یا طریقہ کو تبدیل کرنا چاہتے ہیں تو ، آپ قیمت کا تعین کرنے کے لیے پلیٹ فارم ڈاٹ سسٹم () جیسا طریقہ استعمال کرسکتے ہیں۔

فائل کی تخلیق کی تاریخ حاصل کرنے کی ایک مثال درج ذیل ہے۔

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 وصف موجود ہے اور دوسرے معاملات۔

Copied title and URL