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を使って様々なファイル操作を行うことができるようになります。ぜひ、色々なファイルを読み書きして、ファイル入出力のスキルを磨いてみてください。
コラム一覧
◯for文
◯関数
◯配列
◯文字列
◯正規表現
◯ファイル入出力
◯openpyxl
◯Numpy
◯Matplotlib
◯Pandas
◯scikit-learn
◯seaborn
◯beautifulsoup
◯tkinter
◯OpenCV
◯pygame
◯メイン関数
◯自作ライブラリ
◯画像処理
◯機械学習
◯スクレイピング
◯データ分析
◯グラフ作成
◯API
◯可読性
◯デバッグ
◯例外処理
◯コメント
◯組み込み関数
◯flask
◯学び方
◯ビット演算
◯マルチスレッドプログラミング
◯参照渡し
◯pyenv
◯エディタ
◯生成AI
◯画像認識
◯Streamlit
◯lambda式
◯物理演算シミュレーション
◯命名規則
◯遺伝的アルゴリズム
◯関数型プログラミング
◯オブジェクト指向
◯ツリー図