file.writelines() 複数行を書き込む
最終更新:2026-09-22
file.writelines() 複数行を書き込む
file.writelines(lines) は文字列のシーケンスを1つずつファイルに書き込む;改行文字は自動的に追加されない。
| カテゴリ | ファイルメソッド |
|---|---|
| 種類 | 組み込み型メソッド |
| Python バージョン | all |
📝 構文
file.writelines()
⚙️ 引数
| lines 必須 | A sequence of strings (list, tuple, ...); no newlines are added automatically. |
|---|
戻り値:None. Writes each string in lines to the file.
元のオブジェクトを変更するか:いいえ(新しいオブジェクトを返す)
💥 例外
TypeError— Raised when lines is not iterable or an element is not a string.OSError— Raised when the file is read-only, closed, or the write fails.
▶ 例
下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:
実行結果:
a
b
💡 関連するケース
さらに多くのケースは近日公開予定です。
❓ よくある質問
Qwritelines() は自動で改行を追加しますか?
Aいいえ!シーケンス内の文字列をそのまま書き込みます。1 行ずつ書くには自分で '\n' を追加する必要があります。例:f.writelines(line + '\n' for line in lines)。
Qwrite() との違いは何ですか?
Awritelines() は文字列のシーケンスを取り、それらを 1 つずつ書き込みます。write() は 1 つの文字列を取ります。どちらも自動的に改行を追加しません。
Q要素が文字列でない場合はどうなりますか?
ATypeError が発生します。先に str に変換する必要があります。
Q複数行を書く推奨方法は?
Af.writelines(line + '\n' for line in lines)。改行を自分で追加するのを忘れないでください。