sys.stdin.read和raw_input函数

sys.stdin.read函数

例子:

import sys

read=sys.stdin.read()
for i in range(len(read)):
    print i,read[i],-1


运行,当执行到read=sys.stdin.read()会阻塞,等待我们输入
在这里插入图片描述
我们输入:

h e

当输入,ctrl+D结束输入,这个时候ctrl+D是在换行后输入的,运行结果为:

在这里插入图片描述

我们只输入了三个字符,却输出来四个字符,重点看3后面,发现是换行,这是因为sys.stdin.read读取完数据后,会在数据后面自动加上’\n’,所以会输出四个字符

当我们ctrl+D直接在e后面输入,不换行输入了,运行结果为
在这里插入图片描述
我们会发现什么都没输出
当我们输入:

h e
12

ctrl+D换行之后输入
在这里插入图片描述
把12也读入进来了,所以sys.stdin.read是读取多行,当在2后面输入ctrl+D时,输出结果为:
在这里插入图片描述

所以ctrl+D哪行,sys.stdin.read不读取。
到此我们可以总结

  • 会在输入内容的后面自动加上’\n’
  • 读取多行
  • ctrl+D结束读取
raw_input函数

程序:

# -*- coding:utf-8 -*-

read=raw_input("请输入内容:")
for i in range(len(read)):
    print i,read[i],-1


raw_input将所有输入作为字符串看待,返回字符串类型。
在这里插入图片描述
可以看到会先将括号里的内容先输出,然后获取我们输入内容,当我们按下enter键,输出我们输入的内容,与sys.stdin.read相比没有加上’\n’

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值