我想知道如何從python中的一行讀取140個或更少的字符。用戶可以輸入剛好140個字符,然後換行符,或者小於140的換行符。看起來raw_input()
沒有限制,並且sys.stdin.read(140)
將會讀取,直到它遇到140個字符,而不管換行符。從python stdin中讀取140個或更少的字符
編輯:我會如何阻止它在140個字符?只是一個難以容忍的輸入允許。無法輸入更多。
想法?
最大
我想知道如何從python中的一行讀取140個或更少的字符。用戶可以輸入剛好140個字符,然後換行符,或者小於140的換行符。看起來raw_input()
沒有限制,並且sys.stdin.read(140)
將會讀取,直到它遇到140個字符,而不管換行符。從python stdin中讀取140個或更少的字符
編輯:我會如何阻止它在140個字符?只是一個難以容忍的輸入允許。無法輸入更多。
想法?
最大
通常情況下,標準輸入是行緩衝,這意味着程序運行時沒有被告知哪些用戶鍵入,直到用戶按Enter鍵(這允許用戶使用行編輯命令,如退格,而不需要你的程序做任何額外的事情)。但是,可以將終端更改爲「原始」模式,以便每次用戶按下某個鍵時都會通知程序。然後,您的程序可以採取適當的方式對該按鍵進行操作。在這種情況下,您必須自行實施行編輯,例如退格鍵。
一個高級別的方法是使用curses庫。
so'curses.filter()'?想法? – tekknolagi
見編輯?可能會幫助 – tekknolagi
我怎麼用'curses.raw()'和'curses.cbreak()'來做到這一點? – tekknolagi
像
ip = sys.stdin.readline()
if len(ip) > 140:
print "error: over 140 chars"
sys.exit()
如果用戶在換行符之前輸入超過140個字符,該怎麼辦? –
打印'「錯誤:超過140個字符%d」%(140-len(a))'其中'a'是輸入 – tekknolagi
要生成錯誤消息,您需要閱讀整行。 –