23 Aralık 2024 Pazartesi 20:49:25

Python ile Sistem Bilgileri Alma (CPU, RAM, Disk, GPU)

2 ay önce
#2 Alıntı
Python kullanarak basit bir şekilde bilgisayarınızın sistem bilgilerini alabileceğiniz bir script paylaşıyorum. Bu script, işletim sistemi, işlemci (CPU), RAM, disk ve ekran kartı (GPU) bilgilerini toplayarak konsola yazdırır. Hem Windows hem de Linux ortamlarında çalışacak şekilde tasarlanmıştır.

Kullanılan Kütüphaneler:
platform: İşletim sistemi ve mimari bilgilerini almak için.
psutil: Sistem kaynakları (RAM, CPU, disk vb.) hakkında bilgi toplamak için.
cpuinfo: İşlemci bilgilerini almak için.
wmi (sadece Windows için): GPU bilgilerini almak için.
os: Linux'ta GPU bilgilerini almak için lspci komutunu çalıştırmak için.
Fonksiyonlar:
get_system_info():
İşletim sistemi, mimari, işlemci ve toplam RAM bilgisini alır.
get_cpu_info():
İşlemci modeli, fiziksel ve mantıksal çekirdek sayısı ile işlemci hızını gösterir.
get_disk_info():
Tüm disk bölümlerini listeleyerek, her birinin toplam boyutunu, kullanılan alanını, boş alanını ve kullanım yüzdesini gösterir.
get_gpu_info():
Windows ortamında WMI ile GPU bilgisini getirir, Linux'ta ise lspci | grep VGA komutu ile GPU adını gösterir.


import platform
import psutil
import cpuinfo
import os

def get_system_info():
    print("=== Sistem Bilgileri ===")
    print(f"İşletim Sistemi: {platform.system()} {platform.release()}")
    print(f"Platform: {platform.platform()}")
    print(f"Mimari: {platform.machine()}")
    print(f"İşlemci: {platform.processor()}")
    print(f"Toplam RAM: {round(psutil.virtual_memory().total / (1024 ** 3), 2)} GB")
    
def get_cpu_info():
    info = cpuinfo.get_cpu_info()
    print("\n=== CPU Bilgileri ===")
    print(f"İşlemci Modeli: {info['brand_raw']}")
    print(f"Fiziksel Çekirdek Sayısı: {psutil.cpu_count(logical=False)}")
    print(f"Toplam Çekirdek Sayısı (Mantıksal): {psutil.cpu_count(logical=True)}")
    print(f"İşlemci Hızı: {info['hz_actual_friendly']}")
    
def get_disk_info():
    print("\n=== Disk Bilgileri ===")
    disk_partitions = psutil.disk_partitions()
    for partition in disk_partitions:
        print(f"Bölüm: {partition.device}")
        usage = psutil.disk_usage(partition.mountpoint)
        print(f"  Toplam Boyut: {round(usage.total / (1024 ** 3), 2)} GB")
        print(f"  Kullanılan: {round(usage.used / (1024 ** 3), 2)} GB")
        print(f"  Boş: {round(usage.free / (1024 ** 3), 2)} GB")
        print(f"  Kullanım Yüzdesi: {usage.percent}%")

def get_gpu_info():
    if platform.system() == "Windows":
        try:
            import wmi
            w = wmi.WMI(namespace="root\CIMV2")
            for gpu in w.Win32_VideoController():
                print("\n=== GPU Bilgileri (Windows) ===")
                print(f"Ad: {gpu.Name}")
                print(f"Bellek: {round(int(gpu.AdapterRAM) / (1024 ** 3), 2)} GB")
        except ImportError:
            print("GPU bilgilerini almak için 'wmi' modülü yüklenmeli.")
    elif platform.system() == "Linux":
        try:
            print("\n=== GPU Bilgileri (Linux) ===")
            os.system("lspci | grep VGA")
        except:
            print("GPU bilgileri alınamadı.")
    else:
        print("GPU bilgisi alma bu platformda desteklenmiyor.")

if __name__ == "__main__":
    get_system_info()
    get_cpu_info()
    get_disk_info()
    get_gpu_info()


Kurulum ve Çalıştırma:
Gerekli kütüphaneleri kurun:


pip install psutil py-cpuinfo wmi


Linux'ta wmi modülü gerekmiyor.

Script'i çalıştırın:


python system_info.py


Çıktı Örneği:

[code]
=== Sistem Bilgileri ===
İşletim Sistemi: Windows 10
Platform: Windows-10-10.0.19041-SP0
Mimari: AMD64
İşlemci: Intel64 Family 6 Model 78 Stepping 3, GenuineIntel
Toplam RAM: 8.0 GB

=== CPU Bilgileri ===
İşlemci Modeli: Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz
Fiziksel Çekirdek Sayısı: 2
Toplam Çekirdek Sayısı (Mantıksal): 4
İşlemci Hızı: 2.50 GHz

=== Disk Bilgileri ===
Bölüm: C:\
  Toplam Boyut: 930.96
0