1

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

4

3 回答 3

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文档

于 2013-04-19T18:52:02.460 回答
2

您可以从阅读的每一行中修剪空白。为此,您可以使用 strip(从左侧和右侧去除多余的空白)或 rstrip 函数(从右侧去除空白)。

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

rstrip() 函数也可以接受参数,如果你想去掉,比如说,只删除换行符。

"My file line.\n".rstrip('\n')
于 2013-04-19T18:56:02.987 回答
0

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

len(yourString.replace('\n', ''));
于 2013-04-19T18:54:53.160 回答