1. ホーム
  2. python

[解決済み] write() と writelines() の比較と連結された文字列

2022-03-04 17:20:53

質問

Pythonを勉強しているところです。レッスンを進めていく中で、非常に多くの「(1)」を凝縮しなければならない問題にぶつかりました。 target.write() を1つの write() を持ちながら "\n" 各ユーザ入力変数(のオブジェクト)の間に write() ).

と思いついたのです。

nl = "\n"
lines = line1, nl, line2, nl, line3, nl
textdoc.writelines(lines)

しようとすると

textdoc.write(lines)

エラーが出ます。しかし、私が入力すると

textdoc.write(line1 + "\n" + line2 + ....)

そうすると、正常に動作します。の改行に文字列を使うことができないのはなぜですか? write() で使用できるのに writelines() ?

Python 2.7

解決するには?

  • writelines は文字列のイテラブルを期待します。
  • write は単一の文字列を想定しています。

line1 + "\n" + line2 は、これらの文字列をマージして1つの文字列とし、それを write .

なお、行数が多い場合は "\n".join(list_of_lines) .