Saya ingin memeriksa sistem operasi (di komputer tempat skrip berjalan).
Saya tahu saya bisa menggunakan os.system('uname -o')
di Linux, tetapi itu memberi saya pesan di konsol, dan saya ingin menulis ke variabel.
Tidak masalah jika skrip dapat mengetahui apakah itu Mac, Windows atau Linux. Bagaimana saya bisa memeriksanya?
python
linux
operating-system
kolek
sumber
sumber
Jawaban:
Anda bisa menggunakan
sys.platform
:sys.platform
memiliki granularity lebih halus darisys.name
.Untuk nilai yang valid, lihat dokumentasi .
Lihat juga jawaban untuk "OS apa yang saya jalankan?"
sumber
"cygwin"
tidak kembali"win32"
seperti yang diharapkan seseorang."linux2"
tidak ada lagi nilai yang mungkin dariplatform
(lihat dokumen tertaut untuk bukti yang menguatkan) dan jadi jika Anda hanya perlu mendukung Python 3.3 dan kemudian Anda dapat dengan aman menghapus klausul `atau platform ==" linux2 "` dari kondisi pertama.Jika Anda ingin tahu di platform mana Anda berada di luar dari "Linux", "Windows", atau "Darwin" (Mac), tanpa lebih presisi, Anda harus menggunakan:
The
platform.system
Fungsi menggunakanuname
internal.sumber
Linux
,Windows
,Java
atau string kosong. devdocs.io/python ~ 3.7Anda bisa mendapatkan gambaran OS yang Anda gunakan dengan cara mengeceknya
sys.platform
.Setelah Anda memiliki informasi itu, Anda dapat menggunakannya untuk menentukan apakah memanggil sesuatu seperti
os.uname()
itu tepat untuk mengumpulkan informasi yang lebih spesifik. Anda juga dapat menggunakan sesuatu seperti Informasi Sistem Python pada OS seperti unix, atau pywin32 untuk Windows.Ada juga psutil jika Anda ingin melakukan pemeriksaan lebih mendalam tanpa ingin peduli dengan OS.
sumber
Informasi lebih rinci tersedia di
platform
modul .sumber
platform
modul memiliki kelebihan dibandingkansys.platform
? Kapan saya ingin menggunakan pendekatan mana?platform
modul. Cukup klik tautan untuk dokumentasi.Anda bisa menggunakannya
sys.platform
.sumber