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 中的字符。”。因此它会从两端去除所有 E
、n
、e
、r
、g
和 y
字符。在您的情况下,E
来自 Epoch
,但不是下一个 p
,也不是末尾的数字。
你可以这样做:
if i.startswith('Energy'):
print(i[6:])
从开头删除 Energy
。
我正在解析一个文件并想从文件的行中删除 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 中的字符。”。因此它会从两端去除所有 E
、n
、e
、r
、g
和 y
字符。在您的情况下,E
来自 Epoch
,但不是下一个 p
,也不是末尾的数字。
你可以这样做:
if i.startswith('Energy'):
print(i[6:])
从开头删除 Energy
。