【Python】pathlibの使い方を初心者向けに解説!ファイル・フォルダ操作がスッキリ書ける

パス結合から読み書き・検索までをやさしく解説

※このサイトの記事内では広告を掲載している場合があります。

ファイルやフォルダを扱うとき、「パスの文字列を結合するのが面倒」「OSによって区切り文字が違って困る」と感じたことはありませんか?そんなときに便利なのが、標準ライブラリの pathlib です。

この記事では、pathlib の Path を使ったパスの組み立て、ファイルの存在確認、読み書き、フォルダ内の検索までを、実行結果つきで初心者向けに解説します。

pathlibとは?

pathlib は、ファイルパスを「文字列」ではなく「オブジェクト」として扱えるモジュールです。os.path を使った書き方より読みやすく、WindowsでもMacでも同じコードで動かせます。

Pathの基本:パスを組み立てる

from pathlib import Path

base = Path("data")
file = base / "sample.txt"   # / でパスを結合できる

print(file)         # data/sample.txt(Windowsでは data\sample.txt)
print(file.name)    # sample.txt
print(file.stem)    # sample
print(file.suffix)  # .txt
print(file.parent)  # data

/ 演算子でパスをつなげられるのが pathlib の大きな特徴です。name(ファイル名)、stem(拡張子なし)、suffix(拡張子)、parent(親フォルダ)も属性として取り出せます。

存在確認とフォルダの作成

from pathlib import Path

folder = Path("output")
folder.mkdir(exist_ok=True)   # すでにあってもエラーにならない

print(folder.exists())   # True
print(folder.is_dir())   # True
print(folder.is_file())  # False

ファイルの読み書き

Path には、短いテキストを読み書きするメソッドが用意されています。

from pathlib import Path

file = Path("output") / "memo.txt"
file.write_text("こんにちは\nPythonです", encoding="utf-8")

text = file.read_text(encoding="utf-8")
print(text)
# こんにちは
# Pythonです

大きなファイルを1行ずつ処理したいときは、with構文の使い方と open を組み合わせるのが基本です。使い分けの目安として覚えておくと便利です。

ファイル操作は実務の自動化でも頻出ですが、独学だとエラーの原因を探すだけで時間が溶けがちです。学習の進め方に迷ったら、Pythonが学べるプログラミングスクールの比較記事も参考にしてください。

フォルダ内のファイルを探す

from pathlib import Path

folder = Path("output")

# 直下の .txt ファイルを列挙
for f in folder.glob("*.txt"):
    print(f.name)
# memo.txt

# サブフォルダも含めて探す
for f in folder.rglob("*.txt"):
    print(f)

よく使うメソッドまとめ

  • Path.cwd():現在の作業フォルダ
  • Path.home():ホームフォルダ
  • exists():存在するか
  • mkdir(parents=True, exist_ok=True):途中のフォルダごと作成
  • rename():名前変更・移動
  • unlink():ファイル削除(元に戻せないので注意)

もっと効率的にPythonを学びたい人へ

ファイル操作は、業務の自動化を目指す方がほぼ必ず通る道です。自分の仕事に合わせたスクリプトを作れるようになりたい方は、マンツーマンで相談しながら学べるスクールも検討してみてください。

Winスクールの「Python Winner」は、マンツーマン指導で未経験からPythonを学べ、転職サポートや無料カウンセリングにも対応しています。まずは無料カウンセリングで、自分に合うか確かめてみてはいかがでしょうか。

※本記事には広告(アフィリエイトリンク)を含みます。

Pythonプログラミング|マンツーマンレッスンで初めてをプロに育てる【Python Winner】

他のスクールとも比べたい方は、スクールの比較記事もあわせてご覧ください。資格取得を目指す方はPython3エンジニア認定基礎試験の参考書比較も参考になります。

まとめ

  • pathlib はパスをオブジェクトとして扱える標準ライブラリ
  • / 演算子でパスを結合でき、OSの違いを意識しなくてよい
  • exists・mkdir・read_text・write_text でよく使う操作がシンプルに書ける
  • glob と rglob でファイルの検索ができる
  • 削除(unlink)は元に戻せないので慎重に

まずは自分のPCの適当なフォルダで、glob を使ってファイル名を一覧表示してみましょう。

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA