gpt4 book ai didi

python - 从python中的文件中的每一行的开头和结尾删除空格

转载 作者:太空宇宙 更新时间:2023-11-04 01:20:58 27 4
gpt4 key购买 nike

我正在尝试从文件中读取一些数字并将它们存储到名为 numbers 的数组中。我对每行使用 strip() 以删除每行末尾的 \n 。我还对每一行使用 split(' ') 来删除数字之间的空格。

问题是在输入文件中,该行的第一个字符和该行的最后一个字符都是空格。我怎样才能删除它们?

这是我的代码:

def read_from_file():
f = open('input_file.txt')
numbers = []
for eachLine in f:
line = eachLine.strip()
for x in eachLine.split(' '):
line2 = int(x)
numbers.append(line2)
f.close()
print numbers

这是文本文件,下划线是空格:

_9 5_
_2 3 1 5 4_
_2 1 5_
_1 1_
_2 1 2_
_2 2 3_
_2 3 4_
_3 3 4 5_
_2 4 5_
_2 1 5_
_3 1 2 5_

最佳答案

strip() 已经移除了两端的空格。错误在行中:

for x in eachLine.split(' '):

您应该在 for 中使用 line 而不是 eachLine

要避免此类问题,您可以完全避免使用中间变量:

for line in f:
for x in line.strip().split():
# do stuff

请注意,调用不带参数的 split() 会拆分任何 空白序列,这通常是您想要的。见:

>>> 'a  b c d'.split()
['a', 'b', 'c', 'd']
>>> 'a b c d'.split(' ')
['a', '', 'b', 'c', 'd']

注意最后一个结果的空字符串。 split(' ') 在每个单个 空格上拆分。

关于python - 从python中的文件中的每一行的开头和结尾删除空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21328966/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com