【python】ファイルの読み込み・書き込み・追記

2020年3月31日

open関数を使用するとファイルを開くことができます。

open( 【ファイル名】, 【ファイル操作形式】,encoding=【文字コード】)

ファイルの読み込み方法

テキストファイル「test.txt」を開いて一行ずつ表示してみましょう。
open関数で開いたファイルデータは変数「f」にセットされます。
for文を使用すると一行ずつファイルデータを取りだすことができます。

strip関数は改行コード削除します。1行ずつテキストを取り出すと最後尾に改行コードがついているので削除する必要があります。

    fileName = "test.txt"
    with open( fileName, "r" , encoding='UTF-8') as f:
        for str in f:
            str = str.strip() # 改行コード削除
            print( str )

ファイル内容・実行結果

one
two
three
four
five

ファイルの書き込み

ファイル「write.txt」に対して文字を書き込みます。
例としてタイムスタンプを書き込みます。
write関数を使用すると文字列を書き込むことができます。
ファイルは上書き形式なので実行の度にタイムスタンプが変わります。

    fileName = "write.txt"
    import datetime
    timeStamp = str( datetime.datetime.now() )
    with open( fileName, mode='w') as f:
        f.write( timeStamp )
        print(fileName,"にタイムスタンプに追記完了", timeStamp )
2020-03-03 01:31:30.696521

ファイルに追記する

ファイルの追記は元のファイルの最後尾に文字列を追加します。
テキストファイル「add.txt」に追記します。
実行の度にタイムスタンプを追記していきます。

    fileName = "add.txt"
    import datetime
    timeStamp = datetime.datetime.now()
    with open( fileName, mode='a') as f:
        print( timeStamp, file=f)
        print(fileName,"にタイムスタンプに追記完了", timeStamp )

実行結果(一回目)

2020-03-03 01:29:13.104746

2回目

2020-03-03 01:29:13.104746
2020-03-03 01:29:14.157165

3回目

2020-03-03 01:29:13.104746
2020-03-03 01:29:14.157165
2020-03-03 01:30:12.090340

ソースコードはこちらから