Goleki informasi babagan OS lan versi Python sing mlaku ing lingkungan.

Bisnis

Modul platform perpustakaan standar digunakake kanggo njupuk informasi babagan sistem operasi sing digunakake Python lan versi (rilis). Nggunakake modul iki, sampeyan bisa ngoper proses kanggo saben OS lan versi.

Informasi ing ngisor iki diwenehake ing kene.

  • Goleki jeneng OS:platform.system()
  • Entuk informasi versi (rilis):platform.release(),version()
  • Goleki OS lan versi sekaligus:platform.platform()
  • Tuladha asil kanggo saben OS
    • macOS
    • Windows
    • Ubuntu
  • Kode conto kanggo ngolah proses gumantung saka OS

Yen sampeyan pengin ngerti versi Python sing sampeyan lakoni, deleng artikel ing ngisor iki.

Kabeh kode conto ing babak pisanan mbukak ing macOS Mojave 10.14.2; conto asil ing Windows lan Ubuntu ditampilake ing babak kapindho; Fungsi khusus OS uga dibahas ing babak kapindho.

Goleki jeneng OS: platform.system ()

Jeneng OS dipikolehi dening platform.system (). Nilai bali minangka senar.

import platform

print(platform.system())
# Darwin

Entuk informasi versi (rilis): platform.release (), versi ()

Informasi versi (rilis) OS dipikolehi kanthi fungsi ing ngisor iki. Ing kalorone kasus kasebut, regane bali yaiku string.

  • platform.release()
  • platform.version()

Kaya sing dituduhake ing conto ing ngisor iki, platform.release () ngasilake konten sing luwih gampang.

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

Entuk OS lan versi sekaligus: platform.platform ()

Informasi OS lan versi (rilis) OS bisa dipikolehi bebarengan nggunakake platform.platform (). Nilai bali minangka senar.

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

Yen nilai argumen terse TRUE, mung informasi minimal sing bakal dikembalikan.

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

Uga ana argumen sing diarani alias.

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

Asile padha ing conto lingkungan, nanging sawetara sistem operasi bakal ngasilake alias minangka jeneng OS.

Yen aliased iku bener, bakal ngasilake asil nggunakake alias tinimbang jeneng umum sistem. Contone, SunOS dadi Solaris.
platform.platform() — Access to underlying platform’s identifying data — Python 3.10.0 Documentation

Tuladha asil kanggo saben OS

Tuladha asil ing macOS, Windows, lan Ubuntu bakal ditampilake, uga fungsi khusus OS.

macOS

Tuladha asil ing macOS Mojave 10.14.2. Padha karo conto ing ndhuwur.

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

Elinga yen Darwin, dudu macOS utawa Mojave.
Kanggo informasi luwih lengkap babagan Darwin, deleng kaca Wikipedia. Uga ana katrangan korespondensi antarane nomer versi paling anyar lan jeneng ing macOS.

Ana fungsi khusus madOS sing diarani platform.mac_ver ().
Nilai bali dikembalikan dadi tuple (rilis, versiinfo, mesin).
Ing conto lingkungan, versiinfo ora dingerteni lan tupai senar kosong.

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

Windows

Tuladha asil ing 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

Elinga yen nilai bali 10 saka platform.release () minangka string, dudu bilangan bulat.

Ana fungsi khusus Windows sing diarani platform.win32_ver ().
Nilai bali dikembalikan dadi tuple (rilis, versi, csd, ptype).
csd nuduhake status paket layanan.

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

Ubuntu

Tuladha asil ing 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

Ana platform fungsi khusus Unix.linux_distribution ().
Nilai bali dikembalikan dadi tuple (distname, versi, id).

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

Elinga yen platform.linux_distribution () wis dicopot ing Python 3.8. Disaranake nggunakake distro perpustakaan pihak katelu, sing kudu diinstal kanthi kapisah nggunakake pip.

Kode conto kanggo ngolah proses gumantung saka OS

Yen sampeyan pengin ngoper fungsi utawa cara kanggo digunakake gumantung karo OS, sampeyan bisa nggunakake cara kayata platform.system () kanggo nemtokake regane.

Ing ngisor iki minangka conto kanggo njupuk tanggal nggawe file.

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

Ing conto iki, regane platform.system () pisanan digunakake kanggo nemtokake manawa Windows utawa liyane.
Banjur, luwih nggunakake penanganan istiméwa kanggo ngoper proses ing antarane kasus sing ana atribut st_birthtime lan kasus liyane.

Copied title and URL