Flask是一个轻量级的Python Web框架,用于快速构建Web应用程序。通过使用Flask,我们可以获取访问我们网站的系统的详细信息。具体实现的步骤如下:
- 导入必要的模块和库:from flask import Flask, request
import platform
import socket
import psutil
- 创建Flask应用程序实例:app = Flask(__name__)
- 定义一个路由,用于处理网站的访问请求:@app.route('/')
def get_system_info():
# 获取系统信息的代码将在这里编写
return 'System Information'
- 在路由处理函数中编写获取系统信息的代码:def get_system_info():
system_info = {}
# 获取操作系统信息
system_info['操作系统'] = platform.system()
system_info['操作系统版本'] = platform.version()
# 获取主机名
system_info['主机名'] = socket.gethostname()
# 获取CPU信息
cpu_info = {}
cpu_info['物理核心数'] = psutil.cpu_count(logical=False)
cpu_info['逻辑核心数'] = psutil.cpu_count(logical=True)
cpu_info['CPU使用率'] = psutil.cpu_percent(interval=1)
system_info['CPU信息'] = cpu_info
# 获取内存信息
memory_info = {}
memory = psutil.virtual_memory()
memory_info['总内存'] = convert_size(memory.total)
memory_info['可用内存'] = convert_size(memory.available)
memory_info['已用内存'] = convert_size(memory.used)
memory_info['内存使用率'] = memory.percent
system_info['内存信息'] = memory_info
# 获取磁盘信息
disk_info = {}
disks = psutil.disk_partitions()
for disk in disks:
disk_info[disk.device] = {
'挂载点': disk.mountpoint,
'文件系统': disk.fstype,
'总容量': convert_size(psutil.disk_usage(disk.mountpoint).total),
'可用容量': convert_size(psutil.disk_usage(disk.mountpoint).free),
'已用容量': convert_size(psutil.disk_usage(disk.mountpoint).used),
'使用率': psutil.disk_usage(disk.mountpoint).percent
}
system_info['磁盘信息'] = disk_info
return system_info
- 定义一个辅助函数,用于将字节大小转换为人类可读的格式:def convert_size(size):
# 1 KB = 1024 Bytes
# 1 MB = 1024 KB
# 1 GB = 1024 MB
# 1 TB = 1024 GB
power = 2**10
n = 0
power_labels = {0: '', 1: 'K', 2: 'M', 3: 'G', 4: 'T'}
while size > power:
size /= power
n += 1
return f"{size:.2f} {power_labels[n]}B"
- 运行Flask应用程序:if __name__ == '__main__':
app.run()
通过访问网站的根路径,即http://yourdomain.com/
,将会返回一个包含系统详细信息的JSON格式数据。
这是一个使用Flask获取访问网站的系统详细信息的示例。在实际应用中,你可以根据需要进一步完善和定制这个功能,例如添加更多的系统信息、美化输出格式等。
腾讯云相关产品推荐: