我是靠谱客的博主 爱撒娇西装,最近开发中收集的这篇文章主要介绍input怎么换行_Python,sys.stdin.readline()与input(),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
sys.stdin.readline() , input()的区别
首先 sys.stdin.readline() 和 input()都是以换行作为结束输入的标志,二者的区别就在于:
sys.stdin.readline()会将标准输入全部获取,包括末尾的'n',
input()会把‘n’忽略。
import sys
a = sys.stdin.readline()
print(a, type(a))
b = input()
print(a)
print(b)
print(len(a), len(b))
-1 2 3
# input,被sys.stdin.readline()读取.
-1 2 3
# print(a, type(a)),显然换行符'n'被读取了.不然<class 'str'>和-1 2 3 应该在同一行输出.
<class 'str'>
-1 2 3
# input,被input()读取.
-1 2 3
# print(a),‘n’被读取.
-1 2 3
# print(b).
7 6
# print(len(a), len(b)),空格3 + 字符3 + 换行符1 = 7.
可以用sys.stdin.readline( ).strip( )去掉末尾的换行符。
sys.stdin.readline(),sys.stdin.readlines(),sys.stdin.read()的区别
显然之前的代码由于换行符作为输入结束,所以是单行输入。
如果想实现多行输入,需要用到while循环,用control+D结束输入。
import sys
lines = []
while True:
line = sys.stdin.readline().strip()
if not line:
break
lines.append(line)
print(lines)
# input, end input with control+D.
-1
2
3
(control+D)
# output
['-1', '2', '3']
而sys.stdin.readlines()可以一次性读取多行数据,输出是含有str的list,会读出换行符等。
同样的,control+D结束输入。
import sys
lines = sys.stdin.readlines()
# 去除换行符,output为['-1', '2', '3'].
# lines = [line.strip() for line in lines]
print(line)
# input
-1
2
3
# output
['-1n', '2n', '3n']
sys.stdin.read()也是多行读取,输出为str,不读换行符,换行符直接起作用。
最后用control+D结束输入,其实是输入了一个空字符‘’,也会被读出来。
import sys
lines = sys.stdin.read()
print(lines, type(lines))
# input
-1
2
3
# output
-1
2
3
<class 'str'>
# 补充
lines = lines.split('n')
# output
['-1', '2', '3', ''] <class 'list'>
最后
以上就是爱撒娇西装为你收集整理的input怎么换行_Python,sys.stdin.readline()与input()的全部内容,希望文章能够帮你解决input怎么换行_Python,sys.stdin.readline()与input()所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复