Standart kitabxana platforması modulu, Python -un işlədiyi əməliyyat sistemi və onun versiyası (buraxılışı) haqqında məlumat almaq üçün istifadə olunur. Bu moduldan istifadə edərək hər bir OS və versiya üçün prosesi dəyişdirmək mümkündür.
Aşağıdakı məlumatlar burada verilir.
- OS adını əldə edin:
platform.system()
- Versiya (buraxılış) məlumatını əldə edin:
platform.release()
,version()
- Bir anda OS və versiyasını əldə edin:
platform.platform()
- Hər bir OS üçün nəticə nümunələri
- macOS
- Windows
- Ubuntu
- OS -dən asılı olaraq işlənməni dəyişdirmək üçün nümunə kod
Çalışdığınız Python versiyasını bilmək istəyirsinizsə, aşağıdakı məqaləyə baxın.
- Əlaqəli məqalələr:Python versiyasını yoxlayın və göstərin (məsələn, sys.version)
İlk yarıda bütün nümunə kodlar macOS Mojave 10.14.2; Windows və Ubuntu üzrə nümunə nəticələr ikinci yarıda göstərilir; Əməliyyat sisteminə xas funksiyalar ikinci yarıda da müzakirə olunur.
Əməliyyat sistemi adını əldə edin: platform.system ()
Əməliyyat sisteminin adı platform.system () tərəfindən əldə edilir. Dönüş dəyəri bir simdir.
import platform
print(platform.system())
# Darwin
Versiya (buraxılış) məlumatını əldə edin: platform.release (), version ()
OS versiyası (buraxılış) məlumatları aşağıdakı funksiyalarla əldə edilir. Hər iki halda, qaytarma dəyəri bir simdir.
platform.release()
platform.version()
Aşağıdakı nümunədə göstərildiyi kimi, platform.release () daha sadə məzmunlar qaytarır.
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
Bir anda OS və versiyasını əldə edin: platform.platform ()
OS adı və versiya (buraxılış) məlumatı platform.platform () istifadə edərək birlikdə əldə edilə bilər. Dönüş dəyəri bir simdir.
print(platform.platform())
# Darwin-18.2.0-x86_64-i386-64bit
Ters arqumentinin dəyəri TRUE olarsa, yalnız minimal məlumatlar geri qaytarılacaq.
print(platform.platform(terse=True))
# Darwin-18.2.0
Ləqəbli bir mübahisə də var.
print(platform.platform(aliased=True))
# Darwin-18.2.0-x86_64-i386-64bit
Nəticə nümunə mühitində eynidır, lakin bəzi əməliyyat sistemləri OS adı olaraq bir ləqəb qaytaracaq.
Alias doğru olarsa, nəticəni sistemin ümumi adı əvəzinə takma ad istifadə edərək qaytarır. Məsələn, SunOS Solaris olur.
platform.platform() — Access to underlying platform’s identifying data — Python 3.10.0 Documentation
Hər bir OS üçün nəticə nümunələri
MacOS, Windows və Ubuntu üzrə nəticələrin nümunələri və OS-yə xas funksiyalar göstəriləcək.
macOS
MacOS Mojave 10.14.2 -də nəticə nümunəsi. Yuxarıda göstərilən nümunə ilə eyni.
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 və ya Mojave deyil, Darvinin olduğunu unutmayın.
Darvin haqqında daha çox məlumat üçün Vikipediya səhifəsinə baxın. Ən son versiya nömrəsi ilə macOSdakı ad arasındakı yazışmaların da təsviri var.
Platform.mac_ver () adlı madOSa xas bir funksiya var.
Dönüş dəyəri bir tuple (buraxılış, versioninfo, maşın) kimi qaytarılır.
Nümunə mühitində, versiya məlumatı bilinmir və boş bir simli tupdur.
print(platform.mac_ver())
# ('10.14.2', ('', '', ''), 'x86_64')
Windows
Windows 10 Evdəki nəticələr nümunəsi.
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 () qaytarma dəyərinin 10 tam deyil, bir simli olduğunu unutmayın.
Platform.win32_ver () adlı Windows üçün xüsusi bir funksiya var.
Qayıdış dəyəri bir tuple olaraq qaytarılır (buraxılış, versiya, csd, ptype).
csd xidmət paketinin vəziyyətini göstərir.
print(platform.win32_ver())
# ('10', '10.0.17763', 'SP0', 'Multiprocessor Free')
Ubuntu
Ubuntu 18.04.1 LTS -də nəticə nümunəsi.
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 üçün xüsusi bir platforma var.linux_distribution ().
Qayıdış dəyəri tuple (distname, version, id) kimi qaytarılır.
print(platform.linux_distribution())
# ('Ubuntu', '18.04', 'bionic')
Qeyd edək ki, platform.linux_distribution () Python 3.8 -də silinib. Bunun əvəzinə pip istifadə edərək ayrıca quraşdırılması lazım olan üçüncü tərəf kitabxana dağıtımını istifadə etmək tövsiyə olunur.
OS -dən asılı olaraq işlənməni dəyişdirmək üçün nümunə kod
ƏS -dən asılı olaraq istifadə ediləcək funksiya və ya metodu dəyişdirmək istəyirsinizsə, dəyəri təyin etmək üçün platform.system () kimi bir üsuldan istifadə edə bilərsiniz.
Aşağıdakı bir faylın yaradılma tarixini əldə etmək nümunəsidir.
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
Bu nümunədə platform.system () dəyəri əvvəlcə Windows və ya digər olub olmadığını müəyyən etmək üçün istifadə olunur.
Daha sonra, st_birthtime atributunun mövcud olduğu vəziyyətlə digər hallar arasında prosesi dəyişdirmək üçün istisna işlənməsindən istifadə edir.