【Pythonコラム】Pythonでファイルを操る!初心者向けファイル入出力入門




Pythonでファイルを操る!初心者向けファイル入出力入門

Pythonは、ファイルの内容を読み込んだり、ファイルにデータを書き込んだりする、いわゆる「ファイル入出力」が非常に簡単にできる言語です。プログラムと外部の世界をつなぐ重要な機能であり、データの保存や設定ファイルの読み込みなど、様々な場面で役立ちます。

今回は、Pythonのファイル入出力の基本を、初心者の方にもわかりやすく解説していきます。

ファイルを開く:open()関数

ファイル入出力の第一歩は、open()関数を使ってファイルを開くことです。open()関数は、ファイル名と「モード」を指定することで、ファイルオブジェクトを返します。

file = open("my_file.txt", "r")

上記の例では、"my_file.txt"という名前のファイルを「読み込みモード("r")」で開いています。

モードには主に以下のものがあります。

  • "r"(読み込み): ファイルの内容を読み込むために開きます。ファイルが存在しない場合はエラーになります。
  • "w"(書き込み): ファイルに書き込むために開きます。ファイルが存在する場合は内容が上書きされます。存在しない場合は新規作成されます。
  • "a"(追記): ファイルに内容を追記するために開きます。ファイルが存在しない場合は新規作成されます。
  • "x"(排他的作成): ファイルを新規作成し、書き込むために開きます。ファイルが既に存在する場合はエラーになります。
  • "b"(バイナリモード): ファイルをバイナリデータとして扱います(画像や音声ファイルなど)。他のモードと組み合わせて使用します(例: "rb")。
  • "t"(テキストモード): ファイルをテキストデータとして扱います(デフォルト)。他のモードと組み合わせて使用します(例: "rt")。

モードは省略可能で、省略した場合は "rt"(テキストモードの読み込み)として扱われます。

ファイルの内容を読み込む

ファイルを開いたら、次は内容を読み込みましょう。主に以下の3つの方法があります。

  • read() ファイル全体の内容を一つの文字列として読み込みます。

    file = open("my_file.txt", "r")
    content = file.read()
    print(content)
    file.close()
    
  • readline() ファイルから一行ずつ読み込みます。

    file = open("my_file.txt", "r")
    line1 = file.readline()
    line2 = file.readline()
    print(line1)
    print(line2)
    file.close()
    
  • readlines() ファイル全体の内容を、各行を要素とするリストとして読み込みます。

    file = open("my_file.txt", "r")
    lines = file.readlines()
    for line in lines:
        print(line)
    file.close()
    

ファイルに書き込む

ファイルを書き込みモードで開いたら、write()メソッドを使ってファイルにデータを書き込むことができます。

file = open("my_file.txt", "w")
file.write("Hello, world!\n")
file.write("This is a new line.\n")
file.close()

write()メソッドは文字列を引数に取り、ファイルに書き込みます。改行を入れたい場合は、\nを文字列に含める必要があります。

ファイルを閉じる:close()

ファイルの読み書きが終わったら、必ずclose()メソッドでファイルを閉じましょう。これは、ファイルへのアクセスを解放し、変更内容をディスクに書き込むために重要です。

file.close()

より安全なファイル操作:withステートメント

ファイルを確実に閉じるためには、withステートメントを使うのがおすすめです。withステートメントを使うと、ブロックを抜ける際に自動的にファイルが閉じられます。

with open("my_file.txt", "r") as file:
    content = file.read()
    print(content)

# この時点でファイルは自動的に閉じられる

withステートメントを使うことで、close()メソッドを明示的に呼び出す必要がなくなり、ファイル操作のエラーを防ぐことができます。

まとめ

Pythonのファイル入出力は、プログラムと外部のデータをやり取りするための強力なツールです。open()関数でファイルを開き、read()readline()readlines()で読み込み、write()で書き込み、close()でファイルを閉じます。withステートメントを使うと、ファイル操作をより安全に行うことができます。

これらの基本をマスターすれば、Pythonを使って様々なファイル操作を行うことができるようになります。ぜひ、色々なファイルを読み書きして、ファイル入出力のスキルを磨いてみてください。



サンプルコードを見る


< 正規表現
コラム一覧に戻る
openpyxl >

レッスン概要

◯月額4,000円で質問し放題!!
◯完全オンライン
◯翌日までには必ず返信
◯挫折しない独自の学習メソッド
◯圧倒的高評価!!
◯テキストベースで時間を選ばない
◯高品質なサンプルコード
詳細はこちら
興味がある方はまず質問だけでもどうぞ!