စံစာကြည့်တိုက်ပလက်ဖောင်း module သည် Python အသုံးပြုနေသော operating system နှင့်၎င်း၏ဗားရှင်း (ဖြန့်ချိမှု) အကြောင်းသတင်းအချက်အလက်ရယူရန်အသုံးပြုသည်။ ဤ module ကို သုံး၍ OS တစ်ခုနှင့်တစ်ခုစီအတွက်လုပ်ငန်းစဉ်ကိုပြောင်းနိုင်သည်။
အောက်ပါအချက်အလက်များကိုဤနေရာတွင်ဖော်ပြထားသည်။
- OS နာမည်ကိုရယူပါ။
platform.system()
- ဗားရှင်း (ဖြန့်ချိခြင်း) သတင်းအချက်အလက်ကိုရယူပါ။
platform.release()
ရ၊version()
- OS နှင့်ဗားရှင်းကိုတစ်ပြိုင်နက်ရယူပါ။
platform.platform()
- OS တစ်ခုစီအတွက်ရလဒ်နမူနာများ
- macOS
- Windows
- Ubuntu
- OS ပေါ် မူတည်၍ အပြောင်းအလဲလုပ်ရန်နမူနာကုဒ်
သင်အသုံးပြုနေသော Python ဗားရှင်းကိုသိလိုလျှင်အောက်ပါဆောင်းပါးကိုကြည့်ပါ။
- ဆက်စပ်ဆောင်းပါးများPython ဗားရှင်းကိုစစ်ဆေးပြီး (ဥပမာ sys.version)
ပထမတစ်ဝက်ရှိနမူနာကုဒ်အားလုံးကို 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 ရှိနေပြီးအခြားအမှုဖြစ်စဉ်များအကြားဖြစ်စဉ်ကိုပြောင်းရန်ခြွင်းချက်ကိုင်တွယ်ခြင်းကိုသုံးသည်။