sys.stdin.read和raw_input函数
sys.stdin.read函數(shù)
例子:
import sysread=sys.stdin.read() for i in range(len(read)):print i,read[i],-1運(yùn)行,當(dāng)執(zhí)行到read=sys.stdin.read()會(huì)阻塞,等待我們輸入
我們輸入:
當(dāng)輸入,ctrl+D結(jié)束輸入,這個(gè)時(shí)候ctrl+D是在換行后輸入的,運(yùn)行結(jié)果為:
我們只輸入了三個(gè)字符,卻輸出來(lái)四個(gè)字符,重點(diǎn)看3后面,發(fā)現(xiàn)是換行,這是因?yàn)閟ys.stdin.read讀取完數(shù)據(jù)后,會(huì)在數(shù)據(jù)后面自動(dòng)加上’\n’,所以會(huì)輸出四個(gè)字符
當(dāng)我們ctrl+D直接在e后面輸入,不換行輸入了,運(yùn)行結(jié)果為
我們會(huì)發(fā)現(xiàn)什么都沒(méi)輸出
當(dāng)我們輸入:
ctrl+D換行之后輸入
把12也讀入進(jìn)來(lái)了,所以sys.stdin.read是讀取多行,當(dāng)在2后面輸入ctrl+D時(shí),輸出結(jié)果為:
所以ctrl+D哪行,sys.stdin.read不讀取。
到此我們可以總結(jié)
- 會(huì)在輸入內(nèi)容的后面自動(dòng)加上’\n’
- 讀取多行
- ctrl+D結(jié)束讀取
raw_input函數(shù)
程序:
# -*- coding:utf-8 -*-read=raw_input("請(qǐng)輸入內(nèi)容:") for i in range(len(read)):print i,read[i],-1raw_input將所有輸入作為字符串看待,返回字符串類型。
可以看到會(huì)先將括號(hào)里的內(nèi)容先輸出,然后獲取我們輸入內(nèi)容,當(dāng)我們按下enter鍵,輸出我們輸入的內(nèi)容,與sys.stdin.read相比沒(méi)有加上’\n’
總結(jié)
以上是生活随笔為你收集整理的sys.stdin.read和raw_input函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: sys.argv和getopt
- 下一篇: web安全----XSS漏洞之基本原理