Mendapatkan Input Berbilang Talian daripada Pengguna dalam Python
Pengendalian input boleh menjadi tugas penting dalam banyak senario pengaturcaraan. Python 3 telah memperkenalkan beberapa perubahan berbanding Python 2, dan satu perbezaan yang ketara ialah tingkah laku yang disemak bagi fungsi input(). Dalam Python 3, input() membaca dan mengembalikan hanya satu baris input, yang membawa kepada kesukaran apabila bekerja dengan berbilang baris data.
Mengapa Tidak Gunakan raw_input()?
Dalam Python 2, fungsi raw_input() mengendalikan input berbilang baris dengan berkesan. Walau bagaimanapun, disebabkan kebimbangan keselamatan tertentu dan keutamaan untuk pendekatan pengendalian input yang lebih konsisten, raw_input() telah ditamatkan penggunaannya dalam Python 3.
Alternatif untuk Input Berbilang Talian
Kepada menangani isu ini dan membolehkan pengendalian input berbilang talian yang cekap, terdapat dua alternatif utama yang tersedia dalam Python 3:
1. Gelung dengan input() dan Pengendalian EOF:
Kaedah ini melibatkan penciptaan gelung dan berulang kali membaca input sehingga akhir fail (EOF) ditemui. Untuk mengendalikan EOF dengan betul, pengecualian EOFError Python boleh digunakan.
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)
2. Menggunakan sys.stdin.readlines():
Kaedah ini membaca keseluruhan input daripada stdin (biasanya input papan kekunci pengguna) dan mengembalikan senarai baris.
import sys contents = sys.stdin.readlines()
Dalam kesimpulan, sementara raw_input() tidak lagi tersedia dalam Python 3, terdapat pendekatan alternatif yang membolehkan pengendalian input berbilang talian dengan cekap. Dengan menggunakan kaedah ini, pembangun boleh menyelesaikan keperluan pengendalian input mereka dengan berkesan dalam Python 3.
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Input Multiline dalam Python 3?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!