python3: .strip( ) 未按预期工作

python3: .strip( ) not working as expected

我正在解析一个文件并想从文件的行中删除 Energy 这个词,但是使用 .strip("Energy") 没有产生预期的结果并删除了 [=31] 的 'E' =].我可能没有正确使用数据类型或没有正确理解 .strip()。请解释为什么我会得到此 post.
末尾给出的输出 我有一个 file 看起来像:

Epoch [20/20], Step 1,[1/3000], Loss: 7.2197, Energy: 0.2414, Prediction:-2.4456 

Epoch [20/20], Step 2,[2/3000], Loss: 0.6216, Energy: -0.2094, Prediction:0.5790 

然后我在 jupyter notebook

中通过以下 代码 传递它
with open(out_file) as f:
    for i in f:
        if i.startswith("Epoch"):
            row=str(i)
            print(row.strip("Energy")) # notice this line

这给了我以下 输出

poch [20/20], Step 1,[1/3000], Loss: 7.2197, Energy: 0.2414, Prediction:-2.4456 

poch [20/20], Step 2,[2/3000], Loss: 0.6216, Energy: -0.2094, Prediction:0.5790 

str.strip() 文档:“Return 删除了前导和尾随空格的字符串 S 的副本。如果给出的是 chars 而不是 None,则删除 chars 中的字符。”。因此它会从两端去除所有 Energy 字符。在您的情况下,E 来自 Epoch,但不是下一个 p,也不是末尾的数字。

你可以这样做:

if i.startswith('Energy'):
    print(i[6:])

从开头删除 Energy