Bagaimana untuk Mencegah Kemasukan Baris Baru dalam Fungsi Input Python?

Susan Sarandon
Lepaskan: 2024-10-26 15:50:30
asal
858 orang telah melayarinya

How to Prevent Newline Insertion in Python's Input Functions?

Cara Mengelakkan Pemasukan Baris Baharu dalam Fungsi Input

Semasa menggunakan fungsi input dalam Python, selalunya wajar untuk menghalangnya daripada menambah secara automatik baris baharu selepas input pengguna. Ini membolehkan aliran yang lebih lancar dalam senario tertentu.

Untuk mencapai matlamat ini, ramai pengguna Python sudah biasa dengan kaedah menyekat aksara baris baharu dalam pernyataan cetakan menggunakan koma di belakang. Walau bagaimanapun, teknik yang sama tidak digunakan apabila berurusan dengan fungsi input seperti raw_input dalam Python 2.x atau input dalam Python 3.x.

Memahami Isu

Apabila menggunakan raw_input (atau input), aksara baris baharu (diwakili sebagai 'n') dilampirkan secara konsisten selepas input pengguna. Ini boleh menjadi masalah dalam situasi di mana gesaan perlu mengikut pada baris yang sama dengan input, seperti dalam contoh berikut:

print "Hello, "
name = raw_input()
print ", how do you do?"
Salin selepas log masuk

Keputusan:

Hello, Tomas
, how do you do?
Salin selepas log masuk

Keputusan yang Diingini:

Hello, Tomas, how do you do?
Salin selepas log masuk

Mengatasi Had

Kaedah 1: Menggunakan Pendekatan Tersuai

Seperti yang dinyatakan oleh Ferdinand Beyer, pada asasnya tidak mungkin untuk menghapuskan aksara baris baharu secara langsung daripada mentah_input atau input. Walau bagaimanapun, terdapat penyelesaian yang melibatkan pendekatan tersuai.

Dengan memanfaatkan jujukan kawalan terminal ' 33[{}C 33[1A'.format(len(x) y), dengan x ialah panjang pengguna input dan y ialah panjang rentetan raw_input, mungkin untuk mengalihkan kursor kembali ke baris sejurus sebelum input dimasukkan.

Kaedah 2: Alternatif kepada Fungsi Input

Sebagai alternatif, terdapat kaedah lain untuk mengumpulkan input pengguna tanpa menghadapi isu baris baharu. Satu kaedah sedemikian ialah menggunakan modul getpass:

import getpass

name = getpass.getpass("Hello, ")
print ", how do you do?"
Salin selepas log masuk

Pendekatan ini memaparkan gesaan tanpa baris baharu mengekori dan mengembalikan input secara langsung, mengelakkan pemisah baris tambahan. Walau bagaimanapun, ia juga menyahdayakan bergema input, yang mungkin tidak sesuai untuk semua situasi.

Kesimpulannya, walaupun tidak mungkin untuk menghalang input_raw atau input daripada menambahkan baris baharu, menggunakan pendekatan tersuai dengan urutan kawalan terminal atau meneroka kaedah input alternatif seperti getpass boleh menyediakan penyelesaian yang selaras dengan keperluan khusus.

Atas ialah kandungan terperinci Bagaimana untuk Mencegah Kemasukan Baris Baru dalam Fungsi Input Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!