testip / app.py
sigyllly's picture
Create app.py
531d2e7 verified
raw
history blame
1.54 kB
import psutil
import socket
def get_ip_addresses():
ip_addresses = []
# Get all network interfaces
interfaces = psutil.net_if_addrs()
for interface_name, interface_addresses in interfaces.items():
for address in interface_addresses:
# Filter out loopback and link-local addresses
if address.family == socket.AF_INET and not address.address.startswith('127.') and not address.address.startswith('169.254.'):
ip_addresses.append((interface_name, address.address))
return ip_addresses
def get_system_info():
system_info = {}
# Get the hostname
system_info['Hostname'] = socket.gethostname()
# Get the IP addresses
system_info['IP Addresses'] = get_ip_addresses()
# Get CPU info
system_info['CPU'] = f"{psutil.cpu_count()} cores"
# Get RAM info
mem_info = psutil.virtual_memory()
system_info['RAM'] = f"{mem_info.total / (1024 ** 3):.2f} GB"
# Get disk usage info
disk_info = psutil.disk_usage('/')
system_info['Disk Usage'] = f"{disk_info.used / (1024 ** 3):.2f} GB / {disk_info.total / (1024 ** 3):.2f} GB"
return system_info
def print_system_info():
system_info = get_system_info()
print("System Information:")
for key, value in system_info.items():
if isinstance(value, list):
print(f"{key}:")
for item in value:
print(f" {item[0]}: {item[1]}")
else:
print(f"{key}: {value}")
if __name__ == "__main__":
print_system_info()