python 返回磁盘使用率
时间: 2024-10-09 08:08:16 浏览: 35
在Python中,你可以使用`psutil`库来获取磁盘的使用率。首先,你需要安装这个库,可以使用pip命令进行安装:
```bash
pip install psutil
```
然后,你可以通过以下代码获取指定路径(如根目录`/`)的磁盘使用情况:
```python
import psutil
def get_disk_usage(path):
disk_usage = psutil.disk_usage(path)
usage_percent = disk_usage.percent
return {
"total": disk_usage.total,
"used": disk_usage.used,
"free": disk_usage.free,
"percent": usage_percent
}
# 获取根目录的使用率
disk_info = get_disk_usage('/')
print(f"磁盘使用率: {disk_info['percent']}%")
```
运行这段代码会返回磁盘总容量、已用空间、可用空间以及使用百分比。如果你需要其他路径的磁盘信息,只需将`path`变量替换为你想要查询的路径即可。
相关问题
帮我用python写一个代码:获取树莓派cpu使用率 CPU温度 硬盘使用率 内存使用率并利用tcp传输给上位机
好的,我可以帮您完成这个任务,请提供下面的代码:
``` python
import psutil
import socket
# 获取CPU使用率
cpu_usage = psutil.cpu_percent(interval=1)
# 获取CPU温度
temp = float('%.1f' % (psutil.sensors_temperatures()['cpu_thermal'][0].current))
# 获取硬盘使用率
disk_usage = psutil.disk_usage('/').percent
# 获取内存使用率
mem = psutil.virtual_memory()
mem_used = mem.used / 1024 / 1024
mem_total = mem.total / 1024 / 1024
mem_usage = mem.percent
# 创建TCP连接并发送数据
HOST = '上位机IP地址'
PORT = 8888
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect((HOST, PORT))
client.sendall(f"CPU使用率:{cpu_usage} %, CPU温度:{temp} ℃, 硬盘使用率:{disk_usage} %, 内存使用率:{mem_usage} %, 内存使用量:{mem_used} MB / {mem_total} MB".encode())
client.close()
```
请将代码中的`上位机IP地址`替换为实际的上位机IP地址。完成以上代码,您可以保存为.py文件并在树莓派上运行。
帮我用python写一个代码:获取树莓派cpu使用率 CPU温度 硬盘使用率 内存使用率并利用tcp传输给上位机 给出服务器和客户端代码
好的,以下是 Python 代码:
服务器端代码:
```
import psutil
import socket
# 获取树莓派 CPU 使用率
def get_cpu_usage():
return psutil.cpu_percent()
# 获取树莓派 CPU 温度
def get_cpu_temperature():
return psutil.sensors_temperatures()['cpu-thermal'][0].current
# 获取树莓派硬盘使用率
def get_disk_usage():
return psutil.disk_usage('/').percent
# 获取树莓派内存使用率
def get_mem_usage():
return psutil.virtual_memory().percent
# 创建 TCP 服务端
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定 IP 和端口
s.bind(('0.0.0.0', 8888))
# 监听端口
s.listen(1)
while True:
# 等待客户端连接
conn, addr = s.accept()
print('Connected by', addr)
# 发送数据给客户端
conn.send(('CPU usage: ' + str(get_cpu_usage()) + '%\n'
'CPU temperature: ' + str(get_cpu_temperature()) + '°C\n'
'Disk usage: ' + str(get_disk_usage()) + '%\n'
'Memory usage: ' + str(get_mem_usage()) + '%\n').encode())
# 关闭连接
conn.close()
```
客户端代码:
```
import socket
# 创建 TCP 客户端
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
s.connect(('10.0.0.1', 8888))
# 接收数据
data = s.recv(1024)
# 打印数据
print(data.decode())
# 关闭连接
s.close()
```
其中,服务器端代码中需要将 `0.0.0.0` 替换成树莓派的 IP 地址,客户端代码中需要将 `10.0.0.1` 替换成服务器的 IP 地址。
阅读全文