Python3 File writelines() メソッド
writelines() は Python のファイルオブジェクトのメソッドで、文字列のリスト(または任意の反復可能オブジェクト)をファイルに書き込むために使用されます。
とwrite()write() メソッドとは異なり、writelines() は一度に複数行を書き込むことができますが、自動的に改行は追加されません。
改行には改行文字を指定する必要があります。\n。
構文
writelines() メソッドの構文は次のとおりです。
fileObject.writelines( [ sequence ])
パラメータ
fileObject:ファイルオブジェクト。通常はopen()関数でファイルを開いた後に取得します。sequence:反復可能オブジェクト(リスト、タプルなど)。その各要素は文字列である必要があります。戻り値:戻り値なし(返り値は
None)。
writelines() メソッドは、反復可能オブジェクト内のすべての文字列を順にファイルに書き込みます。書き込み位置は、ファイルの現在のポインタ位置によって決まります。
ファイルが追記モード(
"a"或"a+")で開かれた場合、書き込まれた内容はファイルの末尾に追加されます。ファイルが読み書きモード(
"r+"或"w+")で開かれた場合、書き込まれた内容は現在のファイルポインタの位置から既存の内容を上書きします。
戻り値
このメソッドには戻り値がありません。
例
以下の例は、writelines() メソッドの使用法を示しています。
例
# with 文を使用してファイルを開き、ファイルが正しく閉じられるようにします
with open("test.txt", "w") as fo:
print("ファイル名: ", fo.name)
seq = ["サンプル 1\n", "サンプル 2"]
fo.writelines(seq)
上記の例の出力結果は次のとおりです。
文件名为: test.txt
ファイルの内容を表示:
$ cat test.txt サンプル 1 サンプル 2
注意事項
改行は自動的に追加されません:
writelines()各行の末尾に自動的に改行は追加されません。改行が必要な場合は、各文字列に明示的に追加する必要があります。\n。
ファイルモード:
ファイルが読み取り専用モード(
"r")で開かれた場合、呼び出すとwritelines()スローされるio.UnsupportedOperation例外。ファイルが書き込みモード(
"w"或"w+")で開かれた場合、ファイルの内容はクリアされ、新しい内容が書き込まれます。ファイルが追記モード(
"a"或"a+")で開かれた場合、書き込まれた内容はファイルの末尾に追加されます。
ファイルポインタ:
書き込み操作は現在のファイルポインタの位置から始まります。ファイルの先頭または特定の位置から書き込む必要がある場合は、
seek()メソッドを使用してファイルポインタを移動できます。
反復可能オブジェクト:
sequence任意の反復可能オブジェクト(リスト、タプル、ジェネレーターなど)を使用できますが、その各要素は文字列である必要があります。
その他の拡張
Python3 File(ファイル) メソッド