【Python】フォルダ内の複数のテキストファイルを読み込む方法(OSモジュール活用)
Pythonはファイル操作やオブジェクトの処理を得意としており、拡張機能やパッケージを組み合わせることで、本格的なアプリケーションを構築できます。
たとえば、システム上のファイルを操作したい場合、PythonにはOSモジュールが用意されており、オペレーティングシステム上のファイルとやり取りするための機能を利用できます。
この記事では、PythonのOSモジュールを使って、フォルダ内の複数のテキストファイルを読み込む方法を解説します。
処理の流れ
- ノートブック(スクリプト)にOSモジュールをインポートします。
- テキストファイルが保存されているディレクトリのパスを定義します。
- ファイルの一覧を作成し、正しい拡張子(.txt)を持つかどうかを確認しながら反復処理します。
- モジュールで定義した関数を使ってファイルを読み込みます。
サンプルコード
# 必要なライブラリをインポート
import os
# ディレクトリの場所を定義
path = r"C:/Users/Sairam/Documents/"
# カレントディレクトリを変更
os.chdir(path)
def read_files(file_path):
with open(file_path, 'r') as file:
print(file.read())
# ディレクトリ内のすべてのファイルを反復処理
for file in os.listdir():
if file.endswith('.txt'):
# 対象ファイルのフルパスを作成
file_path = f"{path}/{file}"
read_files(file_path)実行結果
Sample 1 ======== Welcome to Tutorialspoint. You are browsing the best resource for Online Education. Sample 2 ======== A distributed ledger is a type of data structure which resides across multiple computer devices, generally spread across locations or regions. Distributed ledger technology (DLT) includes blockchain technologies and smart contracts. While distributed ledgers existed prior to Bitcoin, the Bitcoin blockchain marks the convergence of a host of technologies, including timestamping of transactions, Peer-to-Peer (P2P) networks, cryptography, and shared computational power, along with a new consensus algorithm.
コードの解説
このプログラムでは、指定した場所に2つのテキストファイル(Sample 1 と Sample 2)が存在しており、それぞれの内容を読み取ってコンソールに出力しています。
ポイントは以下の通りです。
- os.chdir(path):カレントディレクトリを対象フォルダに移動します。
- os.listdir():フォルダ内の全ファイル・フォルダ名をリストとして取得します。
- endswith('.txt'):拡張子が「.txt」のファイルだけを抽出することで、意図しないファイルの読み込みを防ぎます。
- with open(...):コンテキストマネージャを使用することで、読み込み後にファイルが自動的に閉じられ、リソース管理が安全になります。
なお、日本語を含むテキストファイルを扱う場合は、文字化けを防ぐために open(file_path, 'r', encoding='utf-8') のようにエンコーディングを明示的に指定することをおすすめします。また、より柔軟なパス操作が必要な場合は pathlib モジュールや glob モジュールを併用すると、さらに簡潔に記述できます。
-
Tkinterでウィンドウからウィジェットを削除する方法
アプリケーション開発をしていると、不要になったウィジェットを画面から取り除きたい場面があります。Tkinterでは、destroy()メソッドを使うことで、ウィンドウやフレームからウィジェットを簡単に削除できます。削除用の関数を定義し、それをウィジェットに紐づけて呼び出すのが基本的な使い方です。実装例以下の例では、ボタンをクリックすると、ウィンドウ上のテキストラベルウィジェットが削除されるプログラムを作成しています。#Import the tkinter library from tkinter import * #Create an instance of tkinter frame wi
-
【Python】Tkinterでラベルのテキストを削除する方法をわかりやすく解説
Tkinterは、PythonでGUIベースのアプリケーションを作成・開発するための標準ライブラリです。この記事では、何らかのテキストが表示されているラベルから、そのテキストを削除する方法を解説します。 ラベルからテキストを削除するには、ラベルの表示を切り替えるトリガーとして機能するボタンを作成します。具体的には、config()メソッドを使ってラベルのtext属性を空の文字列に書き換えます。 サンプルコード # Tkinterライブラリをインポート from tkinter import * # tkinterフレームのインスタンスを作成 win = Tk() # ウィンドウのサイズを