Python

Pythonのinput関数で改行を扱うには?

Pythonのinput関数で改行を扱うには?

前回までで、画像編集に関して1通りやりたいことは終わりました。
最後に、汎用性を持たせるため、画像に入れたい文字列を「input関数」で入力することに……したところで、問題発生です。

Pythonのinput関数で改行を扱うには?

「input関数」に改行コード「\n」を入れたら、改行されずにそのまま文字入れされてしまいました。
変数では改行コードで上手く改行されたのに、これはいったい?
ほんのちょっとしたことで解決できるので、その方法をまとめました。

 

なぜ「input関数」で改行が反映されないの?

「input関数」で改行コード「\n」を入力すると、変数には「\\n」が格納されるからです。

 

どうやれば改行が反映される?

Pythonのコードで、「\\n」を「\n」に置換するのが一案です。

a = input('文字列を入力してください').replace('\\n','\n')
print(a)

 

まとめ

input関数で改行コード「\n」を入力すると「\\n」と扱われます。
改行を削除しようと「stripメソッド」を使っても反応しないのも、これが原因です。
無事に汎用性のあるサムネイル作成のコードが書けました。
Pythonのinput関数で改行を扱うには?

-Python
-, , , , , ,

© 2022 オン香講師の将棋教室以外の話