Python3 File write() メソッド

Python3 File(文件) 方法Python3 File(ファイル) メソッド


概要

write()このメソッドは、指定された文字列をファイルに書き込むために使用します。

ファイルが閉じられる前、またはバッファがフラッシュされる前は、文字列の内容はバッファに保存されているため、ファイルに書き込まれた内容を確認することはできません。

ファイルのオープンモードに b が含まれる場合、ファイルに内容を書き込むとき、str(引数)は encode メソッドで bytes 形式に変換する必要があります。そうしないと、TypeError: a bytes-like object is required, not 'str' というエラーが発生します。

構文

write() メソッドの構文は次のとおりです:

fileObject.write( [ str ])

引数

  • fileObject-- ファイルオブジェクト。通常は open() 関数でファイルを開いた後に取得します。

  • str-- ファイルに書き込む文字列。

write() メソッドは、指定された文字列をファイルに書き込みます。書き込み位置は、ファイルの現在のポインタ位置に依存します:

  • ファイルが追加モード("a" 或 "a+")で開かれている場合、書き込まれた内容はファイルの末尾に追加されます。

  • ファイルが読み書きモード("r+" 或 "w+")で開かれている場合、書き込まれた内容は現在のファイルポインタの位置から始まり、元の内容を上書きします。

戻り値

戻り値は、書き込まれた文字の長さです。

例

ファイル サンプル.txt の内容は次のとおりです:

1:www.example.com
2:www.example.com
3:www.example.com
4:www.example.com
5:www.example.com

次の例は、write() メソッドの使用法を示しています:

例

#!/usr/bin/python3

# with 文を使用してファイルを開き、ファイルが正しく閉じられるようにします
with open("サンプル.txt", "r+") as fo:
    print("ファイル名: ", fo.name)

    # ファイルの末尾に1行書き込む
    fo.seek(0, 2)  # ファイルポインタをファイルの末尾に移動する
    fo.write("6:www.example.com\n")  # 内容を書き込み、改行を追加する

    # ファイルのすべての内容を読み取る
    fo.seek(0)  # ファイルポインタをファイルの先頭に移動する
    for index, line in enumerate(fo):
        print("ファイル行番号 %d - %s" % (index, line.strip()))

上記の例の出力結果は次のとおりです:

文件行号 0 - 1:www.example.com
文件行号 1 - 2:www.example.com
文件行号 2 - 3:www.example.com
文件行号 3 - 4:www.example.com
文件行号 4 - 5:www.example.com
文件行号 5 - 6:www.example.com

ファイルの内容を確認:

$ cat サンプル.txt 
1:www.example.com
2:www.example.com
3:www.example.com
4:www.example.com
5:www.example.com
6:www.example.com

注意事項

  1. ファイルモード:

    • ファイルが読み取り専用モード("r")で開かれている場合、呼び出すとwrite()例外が発生しio.UnsupportedOperationます。

    • ファイルが書き込みモード("w" 或 "w+")で開かれている場合、ファイルの内容はクリアされ、その後新しい内容が書き込まれます。

    • ファイルが追加モード("a" 或 "a+")で開かれている場合、書き込まれた内容はファイルの末尾に追加されます。

  2. ファイルポインタ:

    • 書き込み操作は、現在のファイルポインタの位置から開始されます。ファイルの先頭や特定の位置から書き込む必要がある場合は、seek()メソッドを使用してファイルポインタを移動できます。

  3. 改行文字:

    • write()メソッドは自動的に改行文字を追加しません。改行が必要な場合は、文字列内に明示的に追加する必要があります。\n。

  4. 戻り値:

    • write()メソッドは書き込まれた文字数を返します。書き込みに失敗すると、例外が発生する場合があります。


Python3 File(文件) 方法Python3 File(ファイル) メソッド

その他の拡張