Bu Python kodu, işletim sistemi, işlemci, bellek, disk, anakart ve ağ bileşenleri hakkında ayrıntılı sistem bilgilerini toplamak ve görüntülemek için kullanılır. Python’un platform, psutil, socket ve wmi modüllerini kullanarak, donanım ve yazılım detaylarına erişir.

Kodun Bölümleri ve Çalışma Prensibi

  1. İşletim Sistemi Bilgileri:
    get_os_info fonksiyonu, platform modülünü kullanarak işletim sisteminin adı, sürüm numarası, mimarisi, işlemci türü ve Python sürümü gibi bilgileri toplar. Bu veriler sistemin temel özelliklerini analiz etmek için kullanışlıdır.
  2. CPU Bilgileri:
    get_cpu_info fonksiyonu, CPU çekirdek sayısı, mantıksal çekirdek sayısı ve CPU’nun mevcut yük durumu gibi verileri sağlar. Bu veriler, psutil modülü aracılığıyla elde edilir. CPU frekansı (MHz) de bu modülden alınarak CPU performansı ve yük durumu izlenebilir.
  3. Bellek Bilgileri:
    get_memory_info fonksiyonu, sistemdeki toplam bellek, kullanılan ve boş bellek miktarı ile bellek kullanım yüzdesini ölçer. Bu fonksiyon, sistem belleğinin ne kadar etkin kullanıldığını analiz etmek için kullanışlıdır ve psutil modülüyle çalışır.
  4. Disk Bilgileri:
    get_disk_info fonksiyonu, her bir disk bölüntüsü için toplam alan, kullanılan alan, boş alan ve kullanım yüzdesini gösterir. Bu bilgiler psutil.disk_partitions() ve psutil.disk_usage() fonksiyonları kullanılarak elde edilir ve sistem depolama durumunun izlenmesi açısından önemlidir.
  5. Anakart Bilgileri:
    get_motherboard_info fonksiyonu, Windows sistemlerinde wmi modülü aracılığıyla anakartın üreticisini, modelini ve seri numarasını alır. Bu bilgiler, sistem donanım özelliklerini belirlemek için kullanılır.
  6. Ağ Bilgileri:
    get_network_info fonksiyonu, ağ arayüzlerinin IP adresi, netmask ve yayın adresi gibi bilgilerini toplar. Bu bilgiler, socket ve psutil.net_if_addrs() fonksiyonları ile elde edilerek ağ durumu hakkında genel bir bilgi sağlar.

Kodun Kullanımı ve Uygulaması

Kodun sonundaki display_system_info fonksiyonu, tüm alt fonksiyonları çağırarak elde edilen bilgileri kullanıcıya düzenli bir şekilde gösterir. Çalıştırıldığında, kullanıcıya işletim sistemi bilgileriyle başlayan, CPU, bellek, disk, anakart ve ağ bilgileriyle devam eden ayrıntılı bir bilgi akışı sunar. Bu kod, sistem yönetimi, donanım denetimi ve performans analizi yapmak isteyen kullanıcılar için faydalıdır ve hem kişisel hem de ticari kullanımlar için kolayca genişletilebilir.

Copied!
import platform import psutil import socket import wmi # İşletim Sistemi Bilgileri def get_os_info(): os_info = { "Sistem": platform.system(), "Platform Versiyonu": platform.version(), "Mimari": platform.architecture(), "İşlemci": platform.processor(), "Python Versiyonu": platform.python_version(), "Makine": platform.machine(), "Platform Adı": platform.node(), "Sürüm": platform.release(), } return os_info # CPU Bilgileri def get_cpu_info(): cpu_info = { "Fiziksel Çekirdek Sayısı": psutil.cpu_count(logical=False), "Mantıksal Çekirdek Sayısı": psutil.cpu_count(logical=True), "CPU Yüzdesi": psutil.cpu_percent(interval=1), "Frekans (MHz)": psutil.cpu_freq().current if psutil.cpu_freq() else None, } return cpu_info # Bellek Bilgileri def get_memory_info(): mem = psutil.virtual_memory() memory_info = { "Toplam Bellek (GB)": mem.total / (1024 ** 3), "Kullanılan Bellek (GB)": mem.used / (1024 ** 3), "Boş Bellek (GB)": mem.available / (1024 ** 3), "Bellek Kullanım Yüzdesi": mem.percent, } return memory_info # Disk Bilgileri def get_disk_info(): partitions = psutil.disk_partitions() disk_info = Array for partition in partitions: usage = psutil.disk_usage(partition.mountpoint) disk_info[partition.device] = { "Bağlama Noktası": partition.mountpoint, "Dosya Sistemi Türü": partition.fstype, "Toplam Alan (GB)": usage.total / (1024 ** 3), "Kullanılan Alan (GB)": usage.used / (1024 ** 3), "Boş Alan (GB)": usage.free / (1024 ** 3), "Kullanım Yüzdesi": usage.percent, } return disk_info # Anakart Bilgileri def get_motherboard_info(): c = wmi.WMI() motherboard_info = Array for board in c.Win32_BaseBoard(): motherboard_info = { "Üretici": board.Manufacturer, "Model": board.Product, "Seri Numarası": board.SerialNumber, } return motherboard_info # Ağ Bilgileri def get_network_info(): hostname = socket.gethostname() ip_address = socket.gethostbyname(hostname) net_info = { "Ana Makine Adı": hostname, "IP Adresi": ip_address, } interfaces = psutil.net_if_addrs() for interface, addrs in interfaces.items(): for addr in addrs: if addr.family == socket.AF_INET: # IPv4 net_info[interface] = { "IP Adresi": addr.address, "Netmask": addr.netmask, "Broadcast": addr.broadcast, } return net_info # Tüm Bilgileri Göster def display_system_info(): print("=== İşletim Sistemi Bilgileri ===") for key, value in get_os_info().items(): print(f"{key}: {value}") print("\n=== CPU Bilgileri ===") for key, value in get_cpu_info().items(): print(f"{key}: {value}") print("\n=== Bellek Bilgileri ===") for key, value in get_memory_info().items(): print(f"{key}: {value:.2f}") print("\n=== Disk Bilgileri ===") for device, info in get_disk_info().items(): print(f"Cihaz: {device}") for key, value in info.items(): print(f" {key}: {value:.2f}" if isinstance(value, float) else f" {key}: {value}") print("\n=== Anakart Bilgileri ===") for key, value in get_motherboard_info().items(): print(f"{key}: {value}") print("\n=== Ağ Bilgileri ===") for key, value in get_network_info().items(): if isinstance(value, dict): print(f"Ağ Arayüzü: {key}") for k, v in value.items(): print(f" {k}: {v}") else: print(f"{key}: {value}") # Sistemi Çalıştır if __name__ == "__main__": display_system_info()

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Web sitenizi üst seviyelere taşıyın