Python 中的多行輸入處理
Python 中的多行輸入處理
雖然Python 3 引入了input 函數作為raw_input 的替代品,但前者缺乏接受多行的能力輸入。可以透過多種方法克服此限制。
利用循環
# Python 3 print("Enter/Paste your content. Ctrl-D or Ctrl-Z (Windows) to save it.") contents = [] while True: try: line = input() except EOFError: break contents.append(line) # Python 2 print "Enter/Paste your content. Ctrl-D or Ctrl-Z (Windows) to save it." contents = [] while True: try: line = raw_input("") except EOFError: break contents.append(line)一種解決方案是採用一直持續到文件結束 (EOF) 字元的循環遇到。這種技術使程式能夠逐行讀取輸入並將其儲存在列表或變數中。
# Python 3 print("輸入/貼上您的內容。Ctrl-D 或 Ctrl-Z (Windows) 儲存它。") 內容=[] 而真實: 嘗試: 行=輸入() 除了 EOF 錯誤: 休息 內容.追加(行) #Python 2 print“輸入/貼上您的內容。Ctrl-D 或 Ctrl-Z (Windows) 儲存它。” 內容=[] 而真實: 嘗試: 行 = raw_input("") 除了 EOF 錯誤: 休息 content.append(line)
使用多行字串文字
# Python 3 print("Enter/Paste your content. Ctrl-D or Ctrl-Z (Windows) to save it.") contents = [] while True: try: line = input() except EOFError: break contents.append(line) # Python 2 print "Enter/Paste your content. Ctrl-D or Ctrl-Z (Windows) to save it." contents = [] while True: try: line = raw_input("") except EOFError: break contents.append(line)另一種方法是利用用三引號括起來的多行字串文字。這些文字可以分配給變數並像多行輸入一樣處理。
multi_line_input = ''' 1號線 2號線 3號線 '''
第三方模組
# Python 3 print("Enter/Paste your content. Ctrl-D or Ctrl-Z (Windows) to save it.") contents = [] while True: try: line = input() except EOFError: break contents.append(line) # Python 2 print "Enter/Paste your content. Ctrl-D or Ctrl-Z (Windows) to save it." contents = [] while True: try: line = raw_input("") except EOFError: break contents.append(line)或者,可以使用第三方模組(例如 textwrap)來促進多行輸入處理。
import文本換行 multi_line_input = textwrap.dedent(''' 1號線 2號線 3號線 ''')
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3