ပတ်ဝန်းကျင်၌လည်ပတ်နေသော Python ၏ OS နှင့်ဗားရှင်းအကြောင်းသတင်းအချက်အလက်ရယူပါ။

စီးပွားရေးလုပ်ငန်း

စံစာကြည့်တိုက်ပလက်ဖောင်း module သည် Python အသုံးပြုနေသော operating system နှင့်၎င်း၏ဗားရှင်း (ဖြန့်ချိမှု) အကြောင်းသတင်းအချက်အလက်ရယူရန်အသုံးပြုသည်။ ဤ module ကို သုံး၍ OS တစ်ခုနှင့်တစ်ခုစီအတွက်လုပ်ငန်းစဉ်ကိုပြောင်းနိုင်သည်။

အောက်ပါအချက်အလက်များကိုဤနေရာတွင်ဖော်ပြထားသည်။

  • OS နာမည်ကိုရယူပါ။platform.system()
  • ဗားရှင်း (ဖြန့်ချိခြင်း) သတင်းအချက်အလက်ကိုရယူပါ။platform.release()ရ၊version()
  • OS နှင့်ဗားရှင်းကိုတစ်ပြိုင်နက်ရယူပါ။platform.platform()
  • OS တစ်ခုစီအတွက်ရလဒ်နမူနာများ
    • macOS
    • Windows
    • Ubuntu
  • OS ပေါ် မူတည်၍ အပြောင်းအလဲလုပ်ရန်နမူနာကုဒ်

သင်အသုံးပြုနေသော Python ဗားရှင်းကိုသိလိုလျှင်အောက်ပါဆောင်းပါးကိုကြည့်ပါ။

ပထမတစ်ဝက်ရှိနမူနာကုဒ်အားလုံးကို macOS Mojave 10.14.2 တွင်သုံးသည်။ Windows နှင့် Ubuntu တွင်နမူနာရလဒ်များကိုဒုတိယပိုင်း၌ပြထားသည်။ OS ၏သီးခြားလုပ်ဆောင်ချက်များကိုလည်းဒုတိယပိုင်း၌ဆွေးနွေးသည်။

OS အမည်: platform.system ()

OS နာမည်ကို platform.system () မှရယူသည်။ return တန်ဖိုးသည် string တစ်ခုဖြစ်သည်။

import platform

print(platform.system())
# Darwin

ဗားရှင်း (ဖြန့်ချိခြင်း) သတင်းအချက်အလက်ကိုရယူပါ။ platform.release (), version ()

OS ဗားရှင်း (ဖြန့်ချိခြင်း) သတင်းအချက်အလက်ကိုအောက်ပါလုပ်ဆောင်ချက်များဖြင့်ရရှိသည်။ နှစ်ခုစလုံးတွင် return value သည် string တစ်ခုဖြစ်သည်။

  • 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 () ကို သုံး၍ အတူတကွရယူနိုင်သည်။ return တန်ဖိုးသည် string တစ်ခုဖြစ်သည်။

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

အငြင်းအခုံ၏ပိုစ့်တန်ဖိုးသည် TRUE ဖြစ်လျှင်အနည်းဆုံးသတင်းအချက်အလတ်သာပြန်ရလိမ့်မည်။

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

အငြင်းအခုံအမည်တပ်ခြင်းလည်းရှိပါသည်။

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

ရလဒ်သည်ဥပမာပတ်ဝန်းကျင်၌တူညီသော်လည်းအချို့ Operating System များသည် OS အမည်အဖြစ်နာမည်တုတစ်ခုပြန်ပေးလိမ့်မည်။

aliased သည်မှန်လျှင်၎င်းသည် system ၏ common name အစား alias ကို သုံး၍ ရလဒ်ကိုပြန်ပေးသည်။ ဥပမာအားဖြင့် SunOS သည် Solaris ဖြစ်လာသည်။
platform.platform() — Access to underlying platform’s identifying data — Python 3.10.0 Documentation

OS တစ်ခုစီအတွက်ရလဒ်နမူနာများ

macOS, Windows နှင့် 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

၎င်းသည် Darwin မဟုတ်ဘဲ macOS သို့မဟုတ် Mojave မဟုတ်ပါ။
Darwin အကြောင်းပိုမိုသိရှိလိုပါက Wikipedia စာမျက်နှာ၌ကြည့်ပါ။ နောက်ဆုံးဗားရှင်းနံပါတ်နှင့် macOS တွင်နာမည်တို့အကြားအပြန်အလှန်ဆက်သွယ်မှုကိုဖော်ပြချက်တစ်ခုလည်းရှိသည်။

platform.mac_ver () ဟုခေါ်သော madOS အတွက်သီးခြားလုပ်ဆောင်ချက်တစ်ခုရှိပါသည်။
return value ကို tuple (release, versioninfo, machine) အဖြစ်ပြန်ပေးသည်။
ဥပမာပတ် ၀ န်းကျင်တွင် versioninfo ကိုမသိရှိပါ။

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

ပြတင်းပေါက်

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

platform.release () ၏ return value 10 သည် string မဟုတ်ဘဲ integer ဖြစ်သည်။

platform.win32_ver () ဟုခေါ်သော Windows အတွက်အထူးလုပ်ဆောင်ချက်တစ်ခုရှိပါသည်။
return value ကို tuple (release, version, csd, ptype) အဖြစ်ပြန်ပေးသည်။
csd သည် service pack ၏အခြေအနေကိုညွှန်ပြသည်။

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

Ubuntu

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

Unix အတွက်သီးသန့်လုပ်ဆောင်ချက် platform.linux_distribution () ရှိပါသည်။
return value ကို tuple (distname, version, id) အဖြစ်ပြန်ပေးသည်။

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

platform.linux_distribution () ကို Python 3.8 တွင်ဖယ်ရှားလိုက်ကြောင်းသတိပြုပါ။ ၎င်းကို pip သုံး၍ သီးခြားတပ်ဆင်ရန်လိုအပ်သော third party library distro ကိုသုံးရန်အကြံပြုသည်။

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 () ၏တန်ဖိုးကို Windows လား၊ အခြားဟုတ်မဟုတ်ဆုံးဖြတ်ရန်ပထမဆုံးသုံးသည်။
ထို့နောက်၎င်းသည် st_birthtime attribute ရှိနေပြီးအခြားအမှုဖြစ်စဉ်များအကြားဖြစ်စဉ်ကိုပြောင်းရန်ခြွင်းချက်ကိုင်တွယ်ခြင်းကိုသုံးသည်။

Copied title and URL