python - 尝试从行尾获取值并将它们加在一起

标签 python function slice

我试图从所有日志中获取成本(每行末尾的值)总计,但我不断收到错误“切片索引必须是整数或无或有一个索引 方法 ” 每行在值之前都有不同的长度。此代码尚未增加成本,但我确保我得到了。

输入函数的日志记录(rec.dat): *此日志将是输入到函数中的记录

@ 2014 2 14 00:03:01 马特“登录”0.01

@ 2014 2 14 02:06:12 玛丽“登录”0.01

@2014年2月14日17:12:05玛丽“cd ~/cs150/projects”0.01

功能:

该函数的目标是添加所有操作的成本(在本例中成本总计应为 0.03)

def cost(rec):
    s = Scanner(rec)
    cost = 0
    line = s.readline()
    for i in range(0, len(rec), 1):
        info = len(line) - 3
        n = float(info)
        price = line[n:0]
        cost += price
        line = s.readline()
    s.close()
    return cost

最佳答案

您不能使用float进行切片,请替换:

n = float(info)
price = line[n:0]

与:

price = line[info:0]

您根本不需要 n 变量。

关于python - 尝试从行尾获取值并将它们加在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22446020/

相关文章:

python - 如何使用 python fabric 自动回答提示?

javascript - IF () 语句的令人困惑的行为

arrays - 在 go 中解析简单值的 xml 数组

c# - 有什么方法可以改进这个字符串切片方法吗?

jquery - .load 之后调用函数(Jquery)

python - 如何将小型二维阵列添加到大型阵列?

python - 如何将 pandas DataFrame 转换为只有值而没有列的 Python 字典?

python - 我需要检测屏幕的一小部分区域的颜色(红色)(我可以计算出坐标)。 (Python)

python - Apache 终止 Flask 进程时如何调用函数?

c++ - 对数组中的每个元素应用一个函数