معیاری لائبریری پلیٹ فارم ماڈیول آپریٹنگ سسٹم کے بارے میں معلومات حاصل کرنے کے لیے استعمال ہوتا ہے جس پر ازگر چل رہا ہے اور اس کا ورژن (ریلیز)۔ اس ماڈیول کا استعمال کرتے ہوئے ، ہر OS اور ورژن کے لیے عمل کو تبدیل کرنا ممکن ہے۔
درج ذیل معلومات یہاں فراہم کی گئی ہیں۔
- OS کا نام حاصل کریں:
platform.system() - ورژن (ریلیز) کی معلومات حاصل کریں:
platform.release()،version() - OS اور ورژن ایک ساتھ حاصل کریں:
platform.platform() - ہر OS کے نتائج کی مثالیں۔
- macOS
- Windows
- Ubuntu
- OS پر منحصر پروسیسنگ کو تبدیل کرنے کے لیے نمونہ کوڈ۔
اگر آپ ازگر کے ورژن کو جاننا چاہتے ہیں جو آپ چلا رہے ہیں تو ، مندرجہ ذیل مضمون دیکھیں۔
- متعلقہ مضامین:ازگر ورژن چیک کریں اور ڈسپلے کریں (جیسے sys.version)
پہلے نصف میں تمام نمونہ کوڈ 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 وصف موجود ہے اور دوسرے معاملات۔


