用python代码收集Linux系统信息,写成脚本,并给出完整代码
时间: 2023-08-31 20:36:51 浏览: 67
### 回答1:
可以使用以下Python代码获取Linux系统信息:import os
import platform
import subprocess def get_os_info():
os_name = platform.system()
os_version = platform.release()
return (os_name, os_version) def get_cpu_info():
cpu_name = subprocess.run("cat /proc/cpuinfo | grep 'model name' | uniq | awk -F':' '{print $2}'", shell=True, stdout=subprocess.PIPE).stdout.decode('utf-8').strip()
return cpu_name def get_mem_info():
mem_info = subprocess.run("cat /proc/meminfo | grep 'MemTotal' | awk -F':' '{print $2}'", shell=True, stdout=subprocess.PIPE).stdout.decode('utf-8').strip()
return mem_info def main():
print("OS: ", get_os_info())
print("CPU: ", get_cpu_info())
print("Memory: ", get_mem_info()) if __name__ == "__main__":
main()
### 回答2:
在Python中,可以使用`psutil`库来收集Linux系统信息。`psutil`是一个跨平台的库,可用于获得系统的 CPU、内存、磁盘、网络等信息。
下面是一个示例代码,用于收集Linux系统信息并写成脚本:
```python
import psutil
# 获取CPU信息
def get_cpu_info():
cpu_info = {}
cpu_info['核心数'] = psutil.cpu_count(logical=False)
cpu_info['线程数'] = psutil.cpu_count(logical=True)
cpu_info['使用率'] = psutil.cpu_percent(interval=1)
return cpu_info
# 获取内存信息
def get_mem_info():
mem_info = {}
mem = psutil.virtual_memory()
mem_info['总量'] = f"{mem.total / 1024 / 1024:.2f} MB"
mem_info['已使用'] = f"{mem.used / 1024 / 1024:.2f} MB"
mem_info['使用率'] = f"{mem.percent}%"
return mem_info
# 获取磁盘信息
def get_disk_info():
disk_info = {}
disks = psutil.disk_partitions()
for disk in disks:
usage = psutil.disk_usage(disk.mountpoint)
disk_info[disk.device] = {
'挂载点': disk.mountpoint,
'总容量': f"{usage.total / 1024 / 1024 / 1024:.2f} GB",
'已使用': f"{usage.used / 1024 / 1024 / 1024:.2f} GB",
'使用率': f"{usage.percent}%",
}
return disk_info
# 获取网络信息
def get_net_info():
net_info = {}
net_io = psutil.net_io_counters()
net_info['总字节发送'] = net_io.bytes_sent
net_info['总字节接收'] = net_io.bytes_recv
return net_info
# 打印系统信息
def print_system_info():
cpu_info = get_cpu_info()
print("CPU信息:")
for key, value in cpu_info.items():
print(f"{key}: {value}")
mem_info = get_mem_info()
print("\n内存信息:")
for key, value in mem_info.items():
print(f"{key}: {value}")
disk_info = get_disk_info()
print("\n磁盘信息:")
for device, info in disk_info.items():
print(f"设备: {device}")
for key, value in info.items():
print(f"{key}: {value}")
net_info = get_net_info()
print("\n网络信息:")
for key, value in net_info.items():
print(f"{key}: {value}")
if __name__ == "__main__":
print_system_info()
```
这个脚本使用`psutil`库中的各种函数来获取CPU、内存、磁盘和网络等信息。通过定义多个函数来获取不同类型的信息,并在`print_system_info`函数中将其打印出来。通过调用`print_system_info`函数,可以获取并打印整个系统的信息。
请注意,运行这个脚本需要预先安装`psutil`库。可以通过`pip install psutil`来安装该库。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)