「ファイル入出力」のコラム

トップページ>「ファイル入出力」のコラム

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を使って様々なファイル操作を行うことができるようになります。ぜひ、色々なファイルを読み書きして、ファイル入出力のスキルを磨いてみてください。





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




< 正規表現
openpyxl >







コラム一覧

if文
for文
関数
配列
文字列
正規表現
ファイル入出力
openpyxl
Numpy
Matplotlib
Pandas
scikit-learn
seaborn
beautifulsoup
tkinter
OpenCV
pygame
メイン関数
自作ライブラリ
画像処理
機械学習
スクレイピング
データ分析
グラフ作成
API
可読性
デバッグ
例外処理
コメント
組み込み関数
flask
学び方
ビット演算
マルチスレッドプログラミング
参照渡し
pyenv
エディタ
生成AI
画像認識
Streamlit
lambda式
物理演算シミュレーション
命名規則
遺伝的アルゴリズム
関数型プログラミング
オブジェクト指向
ツリー図
Anaconda
Google Colaboratory
PyTorch
NLTK
音声処理
yt-dlp
組み込み開発
データベース操作
iclawler
PyCaret
pickle
plotly
polars
Mecab
乱数
PyInstaller
MySQL
Pip
sys.argv
データ型
secrets
MediaPipe
YOLO
ソート