創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
成都創(chuàng)新互聯(lián)公司是一家專注于做網(wǎng)站、成都網(wǎng)站建設(shè)與策劃設(shè)計,平江網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:平江等地區(qū)。平江做網(wǎng)站價格咨詢:18982081108小編給大家分享一下python多行輸入的方法有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
Python中的Input()函數(shù)在輸入時,遇到回車符,那么一次輸入就結(jié)束了。這不能滿足輸入多行文本并且行數(shù)也不確定的情形,當(dāng)然輸入空行也是允許的。
方法1:利用異常處理機(jī)制實現(xiàn)
lines=[] while True: try: lines.append(input()) except: break print(lines)
實際運(yùn)行時,可以輸入多行,當(dāng)輸入最后一行并回車后,按組合鍵ctrl+D,表示EOF,即End of File、文件尾的意思。此時,input()函數(shù)會遇到EOF的異常。Python的異常處理機(jī)制將捕獲到此異常,執(zhí)行except部分的語句,此語句為break,因此,立即跳出while循環(huán)。這正好滿足了我們的需要。
例如,輸入:
12 345 3.14159回車 I am a student.回車 Hello, world!回車
在集成開發(fā)環(huán)境中運(yùn)行時,請按ctrl+D組合鍵結(jié)束多行輸入。如果在Windows命令行下用"python 源代碼文件名.py”方式運(yùn)行時,請按ctrl+Z組合鍵結(jié)束多行輸入。
輸出結(jié)果如下:
['12 345 3.14159', 'I am a student.', 'Hello, world!']
方法二:利用標(biāo)準(zhǔn)輸入文件對象sys.stdin的readlines()函數(shù)實現(xiàn)
因為鍵盤是標(biāo)準(zhǔn)輸入設(shè)備,計算機(jī)操作系統(tǒng)將鍵盤也是當(dāng)做文件來對待的,其實計算機(jī)操作系統(tǒng)將包括鍵盤顯示器鼠標(biāo)打印機(jī)等在內(nèi)的各種外圍設(shè)備都當(dāng)做文件來對待。Python中與鍵盤對應(yīng)的文件對象是sys.stdin,因此可以利用sys.stdin.readlines()函數(shù)來實現(xiàn)讀取多行文本,一直到遇到文件尾即EOF為止。
import sys lines=sys.stdin.readlines() print(lines)
輸入同上,
輸出如下:
['12 345 3.14159\n', 'I am a student.\n', 'Hello, world!\n']
可以看出,這種方式2與方式1的輸出結(jié)果有細(xì)微差別,每行末尾有'\n'字符(即回車符)。
以上是python多行輸入的方法有哪些的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!