Python len()函数再添加1个

时间:2013-04-19 18:49:45

标签: python python-3.x

我试过谷歌搜索没有成功,但我试图读取文件并找到每个字符串的长度。每个字符串是一组数字(即012345)。我使用len()函数,它可以工作,但它除了最后一行之外每行增加1个。我假设它正在计算eol / return字符。我该如何解决?感谢

3 个答案:

答案 0 :(得分:8)

您可以删除空格:

len(line.strip())

示例:

$ echo 'One
Two' | python -c 'for line in __import__("sys").stdin: print(len(line))'
4
4
$ echo 'One
Two' | python -c 'for line in __import__("sys").stdin: print(len(line.strip()))'
3
3

str.strip docs

答案 1 :(得分:2)

您可以修剪您读取的每一行的空白。您可以使用条带(从左侧和右侧剥去额外的空白)或rstrip函数(从右侧剥去空白)。

"My file line.\n".rstrip()

如果你想剥离换行符,那么rstrip()函数也可以接受参数。

"My file line.\n".rstrip('\n')

答案 2 :(得分:0)

您是否尝试过使用Python的字符串替换功能?它会是这样的:

len(yourString.replace('\n', ''));