python - 列表中的字符串不接受赋值

标签 python python-2.7 ubuntu ubuntu-12.04

import os
f=os.popen('df -h')
drive_usage=f.read()
drive_usage.split()
email('test','Critical! Drive usage is very high!')
for x in range(4,len(drive_usage)-1,6):
    s2 = drive_usage[x][0:len(drive_usage[x])]
    drive_usage[x] = s2
    if drive_usage[x]>90:
        #email admin

此代码应读取 df -h 的输出在 ubuntu 12.04 服务器上,将命令的输出拆分为一个列表,然后将“%”字符剪掉,以便驱动器使用情况可以用作 if 语句中的比较器。然后,如果它超过 90%,它应该通过电子邮件发送服务器管理员。

但是,drive_usage[x] = s2触发'str' object does not support item assignment .据我所知,这不应该触发,因为该行应该访问列表中的字符串,而不是字符串中的字符。任何帮助或建议将不胜感激!

最佳答案

该行:

drive_usage.split()

应该:
drive_usage = drive_usage.split()

作为字符串方法.split()返回一个列表,而您期望它将字符串替换为不会发生的部分列表。

关于python - 列表中的字符串不接受赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31252265/

相关文章:

python - 多标签分类 - 训练超参数不正确?

Python、Tkinter、Subprocess-获取标准输出并将其插入文本

python - 多处理池和队列

python - 使用 map() 函数在 python 中单行打印

python - 为什么 sets,dicts,list 在 python 中是不可散列的

python - python中的 "--snip--'是什么?

javascript - 从二进制数据在 html5 canvas 中显示图像

linux - 无法在 Ubuntu trusty64 上加载 Vim 插件

ubuntu - PyCharm:使用 Caps Lock-u 和 Caps Lock-on 在代码和运行/终端之间切换

node.js - AWS EC2 : Ubuntu Webserver - Process out of memory when running npm install