Standart kütüphane platformu modülü, Python’un üzerinde çalıştığı işletim sistemi ve sürümü (sürüm) hakkında bilgi almak için kullanılır. Bu modülü kullanarak, her işletim sistemi ve sürüm için süreci değiştirmek mümkündür.
Aşağıdaki bilgiler burada verilmiştir.
- İşletim sistemi adını alın:
platform.system()
- Sürüm (sürüm) bilgilerini alın:
platform.release()
,version()
- İşletim sistemini ve sürümü bir kerede edinin:
platform.platform()
- Her işletim sistemi için sonuç örnekleri
- macOS
- Windows
- Ubuntu
- İşletim sistemine bağlı olarak işlemeyi değiştirmek için örnek kod
Çalıştırdığınız Python sürümünü öğrenmek istiyorsanız aşağıdaki makaleye bakın.
- İlgili Makaleler:Python sürümünü kontrol edin ve görüntüleyin (ör. sys.version)
İlk yarıdaki tüm örnek kodlar macOS Mojave 10.14.2 üzerinde çalıştırılır; Windows ve Ubuntu’daki örnek sonuçlar ikinci yarıda gösterilir; İşletim sistemine özgü işlevler de ikinci yarıda tartışılmaktadır.
İşletim sistemi adını alın: platform.system()
İşletim sistemi adı platform.system() tarafından alınır. Dönüş değeri bir dizedir.
import platform
print(platform.system())
# Darwin
Sürüm (sürüm) bilgilerini alın: platform.release(), version()
İşletim sistemi sürümü (sürüm) bilgileri aşağıdaki işlevlerle elde edilir. Her iki durumda da dönüş değeri bir dizedir.
platform.release()
platform.version()
Aşağıdaki örnekte gösterildiği gibi, platform.release() daha basit içerikler döndürü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
İşletim sistemini ve sürümü bir kerede alın: platform.platform()
İşletim sistemi adı ve sürüm (sürüm) bilgileri platform.platform() kullanılarak birlikte alınabilir. Dönüş değeri bir dizedir.
print(platform.platform())
# Darwin-18.2.0-x86_64-i386-64bit
Terse bağımsız değişkeninin değeri TRUE ise, yalnızca minimum bilgi döndürülür.
print(platform.platform(terse=True))
# Darwin-18.2.0
Takma bir argüman da var.
print(platform.platform(aliased=True))
# Darwin-18.2.0-x86_64-i386-64bit
Sonuç, örnek ortamda aynıdır, ancak bazı işletim sistemleri, işletim sistemi adı olarak bir takma ad döndürür.
Takma ad true ise, sistemin ortak adı yerine bir takma ad kullanarak sonucu döndürür. Örneğin, SunOS Solaris olur.
platform.platform() — Access to underlying platform’s identifying data — Python 3.10.0 Documentation
Her işletim sistemi için sonuç örnekleri
OS’ye özgü işlevlerin yanı sıra macOS, Windows ve Ubuntu’daki sonuç örnekleri gösterilecektir.
Mac os işletim sistemi
macOS Mojave 10.14.2’deki sonuç örneği. Yukarıda gösterilen örnekle aynı.
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
Bunun, macOS veya Mojave değil, Darwin olduğunu unutmayın.
Darwin hakkında daha fazla bilgi için Wikipedia sayfasına bakın. Ayrıca en son sürüm numarası ile macOS’taki ad arasındaki yazışmanın bir açıklaması da bulunmaktadır.
platform.mac_ver() adında, madOS’a özgü bir işlev vardır.
Dönüş değeri bir tanımlama grubu (sürüm, sürüm bilgisi, makine) olarak döndürülür.
Örnek ortamda, versioninfo bilinmiyor ve boş bir dize demetidir.
print(platform.mac_ver())
# ('10.14.2', ('', '', ''), 'x86_64')
pencereler
Windows 10 Home’daki sonuç örneği.
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() işlevinin dönüş değeri 10’un bir tamsayı değil bir dize olduğuna dikkat edin.
platform.win32_ver() adlı Windows’a özgü bir işlev vardır.
Dönüş değeri bir tanımlama grubu (sürüm, sürüm, csd, ptype) olarak döndürülür.
csd, hizmet paketinin durumunu gösterir.
print(platform.win32_ver())
# ('10', '10.0.17763', 'SP0', 'Multiprocessor Free')
Ubuntu
Ubuntu 18.04.1 LTS’deki sonucun örneği.
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’e özgü bir platform.linux_distribution() işlevi vardır.
Dönüş değeri bir tanımlama grubu (distname, version, id) olarak döndürülür.
print(platform.linux_distribution())
# ('Ubuntu', '18.04', 'bionic')
Python 3.8’de platform.linux_distribution() öğesinin kaldırıldığını unutmayın. Bunun yerine, pip kullanılarak ayrı olarak kurulması gereken üçüncü taraf kitaplık dağıtımını kullanmanız önerilir.
İşletim sistemine bağlı olarak işlemeyi değiştirmek için örnek kod
İşletim sistemine bağlı olarak kullanılacak işlevi veya yöntemi değiştirmek isterseniz, değeri belirlemek için platform.system() gibi bir yöntem kullanabilirsiniz.
Aşağıda, bir dosyanın oluşturulma tarihini alma örneği verilmiştir.
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 örnekte, platform.system() değeri ilk olarak bunun Windows mu yoksa başka biri mi olduğunu belirlemek için kullanılır.
Ardından, süreci st_birthtime özniteliğinin olduğu durum ile diğer durumlar arasında değiştirmek için istisna işlemeyi de kullanır.