python - python 从 stdin 读取的行长度

标签 python python-3.x

我有一个问题,为什么这段代码。为什么字符串长度与我的输入不匹配?

input: a 
output: 2

from sys import stdin
for line in stdin:
  print(len(line))

最佳答案

像任何类似文件的迭代器一样,stdin迭代时产生带有换行符/换行符的行。这解释了您在计数时会得到一个额外的字符。

您可以使用rstrip("\n")使计数正确(删除右侧换行符):

from sys import stdin
for line in stdin:
  print(len(line.rstrip("\n")))

(请注意,结果减去 1 也有效)

关于python - python 从 stdin 读取的行长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46974169/

相关文章:

python - 如何在python中的csv文件中编写列表列表

python pandas : Why can't I use both index_col and usecols in the same read_csv statement ? 引发 valueError

python - 如何使用 Beautiful Soup 返回 YouTube 播放列表中所有 URL 的列表?

python-3.x - Dlib(支持GPU)无法正常工作,不确定吗?

python - 如何使用mock.patch覆盖Django View 进行测试?

python - 递归总是更新字典

python - 在 Ubuntu 上的 Python 3 中使用 Pip 并导入包

python - 如何将 Python 进程的输出重定向到 Rust 进程?

python - 如何使 tensorflow 边界框每 "n"秒显示一次?

python - cPanel 中的 Cronjob 找不到 BeautifulSoup4 模块