Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonファイル操作の基本:作成・読み込み・書き込み・削除を徹底解説

この記事では、Pythonにおけるファイル操作(ファイルハンドリング)の基本について解説します。以下のコード例を通じて、ファイルの作成、読み込み、書き込み、削除といった一連の操作方法を学ぶことができます。

Pythonでファイルを作成する方法

Pythonで新しいファイルを作成するには、open()メソッドを使用します。このメソッドは「ファイル名」と「モード」の2つの引数を受け取ります。モードには 'x''a''w' のいずれかを指定します。

  • 'x': 新規ファイルを作成します。同名のファイルが既に存在する場合はエラーが発生します。
  • 'a': 既存ファイルへの追記用モードです。ファイルが存在しない場合は新しく作成されます。
  • 'w': ファイルへの書き込み用モードです。こちらもファイルが存在しない場合は新しく作成されます。

例:

file = open("somefile.txt", "x")

上記のコードを実行すると、新しいファイル somefile.txt が作成されます。

Pythonでファイルを読み込む方法

ファイルを読み込むには、open()関数にファイル名と読み込みモード 'r' を指定します。

例として、somefile.txt というファイルを読み込んでみましょう。このファイルの中身は次の通りです。

Hello!!
Welcome to Python
Goodbye.
file = open('somefile.txt', 'r')
print(file.read())
file.close()

出力結果:

Hello!!
Welcome to Python
Goodbye.

ファイルの一部だけを読み込む方法

read()メソッドに文字数を指定すると、ファイルの一部だけを読み込むことができます。

file = open('somefile.txt', 'r')
print(file.read(5))
file.close()

出力結果:

Hello

ファイルを1行ずつ読み込む方法

readline()メソッドを使うと、ファイルを1行ずつ読み込むことができます。

1行だけ読み込む

file = open('somefile.txt', 'r')
print(file.readline())
file.close()

出力結果:

Hello!!

2行読み込む

file = open('somefile.txt', 'r')
print(file.readline())
print(file.readline())
file.close()

出力結果:

Hello!!

Welcome to Python

すべての行を読み込む

forループを使えば、ファイル内のすべての行を順番に読み込むことができます。

file = open('somefile.txt', 'r')
for x in file:
    print(x)

出力結果:

Hello!!

Welcome to Python

Goodbye

Pythonでファイルに書き込む方法

ファイルに書き込む場合も、open()メソッドを使用します。第1引数にファイル名、第2引数に 'a' または 'w' を指定します。

  • 'a': 既存のファイルにデータを追記します。
  • 'w': 既存のファイルの内容を上書きします。

どちらの場合も、指定したファイルが存在しなければ新しく作成されます。

新規ファイルに書き込む

file = open('writefile.txt', 'w')
file.write("Write some content!")
file.close()

実行すると、writefile.txt が作成され、内容は以下のようになります。

Write some content!

注意: モード 'w' を使用した場合、ファイルが存在しなければ新しく作成されますが、すでに存在する場合は元の内容がすべて上書きされるので注意してください。

既存ファイルに追記する

既存のファイルに追記するには、open()メソッドに追記モード 'a' を指定します。

file = open('writefile.txt', 'a')
file.write("\nWrite more content!")
file.close()

追記後の writefile.txt の内容:

Write some content!
Write more content!

Pythonでファイルを削除する方法

ファイルを削除するには、osモジュールをインポートし、remove()メソッドを使用します。

import os
if os.path.exists("writefile.txt"):
    os.remove("writefile.txt")

上記のコードでは、削除を実行する前に os.path.exists() でファイルの存在確認を行っています。これは、存在しないファイルを削除しようとするとエラーが発生するためです。

まとめ

Pythonのファイル操作は、open()メソッドと適切なモード指定だけで直感的に行えます。'x'で新規作成、'r'で読み込み、'w'で上書き書き込み、'a'で追記、そしてos.remove()で削除。これらの基本操作をマスターすれば、テキストファイルやログファイルなど、さまざまなデータ処理に応用できます。なお、作業後は必ずclose()を呼び出してファイルを閉じることを忘れないようにしましょう。

  1. Pythonのファイルオブジェクトとは?open関数によるファイル操作の基本を徹底解説

    Pythonでは、ファイルを読み書きする際に特別なライブラリをインポートする必要はありません。ファイル操作は言語にネイティブに組み込まれているためです。 まず最初に行うのは、組み込み関数 open() を使ってファイルオブジェクトを取得することです。open() 関数はファイルを開き、ファイルオブジェクトを返します。このファイルオブジェクトには、開いたファイルから情報を取得したり、内容を操作したりするためのメソッドや属性が含まれています。 ファイルとは何か? ファイル操作を行う前に、「ファイルとは何か」を理解しておきましょう。ファイルとは、関連する情報を保存するためにディスク上に確保された「名

  2. 【Python】ジャンクファイルオーガナイザーで面倒なファイル整理を一括自動化

    はじめに 大量のファイルやフォルダをひとつのディレクトリに放り込みっぱなしにして、「何のファイルがあったんだっけ?」と混乱しがちなPythonプログラマーは少なくありません。そんな「怠惰(=効率重視)」な開発者にとって、手作業でのファイル整理は面倒この上ないものです。 そこで本記事では、散らかったフォルダ内のファイルを拡張子ごとに適切なフォルダへ一括で振り分け、さらに不要になった空のディレクトリまで削除してくれるPythonスクリプトを紹介します。コマンドひとつでフォルダがすっきり片付くので、ぜひ活用してみてください。 具体的には、さまざまな種類のファイルが混在したディレクトリ(下図)を入力と