Pythonにおけるpathlibモジュールの利用方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonにおけるpathlibモジュールの利用方法について現役エンジニアが解説しています。pathlibモジュールとはPython3.4から追加された、ファイルやフォルダのパスをオブジェクトとして操作するためのモジュールです。Pythonでファイルを作成したり書き込んだりすることが出来ます。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Pythonにおけるpathlibモジュールの利用方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonにおけるpathlibモジュールの利用方法について詳しく説明していくね!

大石ゆかり

お願いします!

この記事ではpathlibモジュールの利用方法について解説します。

pathlibモジュールとは?

pathlibモジュールとはPython3.4から追加されたモジュールでファイルやフォルダのパスをオブジェクトとして操作するためのモジュールです。ファイルの新規作成や読み込み、書き込み、削除などを行うことができます。

pathlibモジュールの使い方

pathlibモジュールはPython3.4以降に標準ライブラリに追加されたためインストールなどしなくても使用することができます。使用するときはimportする必要があります。

import pathlib

importすることでpathlibライブラリの機能を使うことができ、ファイルやディレクトリの操作、書き込み、読み込みなどを行うことができます。

[PR] Pythonで挫折しない学習方法を動画で公開中

pathlibモジュールを利用してファイル操作してみよう

それではpathlibモジュールを利用してファイルを操作する方法について見ていきましょう。

1.空ファイルを作成する

Pathオブジェクトの作成方法は以下の通りです。

変数 = pathlib.Path(ファイル名)

作成されたPathオブジェクトにおいてファイルが存在しているのかを確認するにはexits()を使います。

変数.exits()

ファイルが存在していない場合はFalse、存在する場合はTrueが戻ってきます。空のファイルを作成するにはPathオブジェクトの中にあるtouch()を使います。使い方は以下のように使います。

変数.touch(引数)

引数にexist_ok=Falseと書くと既に存在している場合はエラーとなります。では空のファイルを作成するサンプルソースを見てみましょう

プログラムソースコード

import pathlib
file = pathlib.Path('C:/PycharmProjects/Sample/text.txt')

if file.exists():
  print('存在している')
else:
  print('存在していない')

file.touch()

if file.exists():
  print('存在している')
else:
  print('存在していない')

 

実行結果

存在していない
存在している

存在していない状況からtouch()をすることで自動的に空ファイルを作成することができました。

注意点は空ファイルを作る親ディレクトリが存在しない場合はエラーとなるのでファイルを作成する際は事前に親ディレクトリを作成するように注意しましょう。

2.ファイルを開く

ファイルを開くときはPathオブジェクトのopen()を使います。使い方は以下のように使用します。

変数.open(mode)

引数のmodeはデフォルトが’r’で読み込み専用となる。書き込みなどを行うときは’w’としましょう。ではファイルを開いて読み込むプログラムを見てみましょう。

プログラムソースコード

import pathlib
file = pathlib.Path('C:/PycharmProjects/Sample/text.txt')

with file.open(mode='r') as f:
    print(f.read())

実行結果はそれぞれの環境によりますがファイルの内容が表示されれば成功です。

3.ファイルへの書き込み

ファイルに書き込むときは以下のように記述します

変数.write_text(書き込みたい内容)

write_text()は追記ではなく上書きなのでファイルのこれまでの内容がすべて上書きされることに注意しましょう。では書き込みのプログラムを見てみましょう。

プログラムソースコード

import pathlib
file = pathlib.Path('C:/PycharmProjects/Sample/text.txt')

file.write_text('Hello')

print(file.read_text())

 

実行結果

Hello

 

監修してくれたメンター

メンターSさん

システムエンジニアとしてこれまで行政システムや医療用システムの保守、開発に携わりました。

JavaやPython、PHP、Kotlinなど様々な言語での開発経験があります。TechAcademyではJavaコース、Pythonコース、AIコースなど7コースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。