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