ホームページ  >  記事  >  バックエンド開発  >  Python の `raw_input()` および `input()` 関数での改行挿入を防ぐ方法は?

Python の `raw_input()` および `input()` 関数での改行挿入を防ぐ方法は?

DDD
DDDオリジナル
2024-10-26 17:27:02809ブラウズ

How to Prevent Newline Insertion in Python's `raw_input()` and `input()` Functions?

入力関数での改行挿入の防止

この問題は、raw_input() 関数または input() 関数 (Python 2.x の場合) を使用するときに発生します。それぞれ、3.x と 3.x)、ユーザー入力後に自動的に改行が追加されるためです。この動作は、改行を削除して、印刷された文字列の直後にユーザー入力を配置しようとする場合に問題になります。 、 raw_input() による改行の挿入を防ぐことは不可能です。

ただし

、入力を受け取った後にカーソルを前の行に再配置する回避策が存在します。

カーソルの再配置

賢い解決策には次のようなものがあります。 ANSI エスケープ シーケンスを使用して、カーソルを移動して前の行を強調表示します。ユーザー入力の長さ (x) と raw_input() プロンプトの長さ (y) を指定することで、それに応じてカーソルの位置を変更できます。

このコードでは:

' 33[{}C' カーソルを x y だけ右に移動します

print '3[{}C3[1A'.format(len(x) + y),
' 33[1A' カーソルを 1 行上に移動します

    これにより、ユーザー入力が効果的にクリアされます現在の行に戻り、テキストの印刷または操作を続けることができます。

以上がPython の `raw_input()` および `input()` 関数での改行挿入を防ぐ方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。