Pathオブジェクト
現代的な方法でパスを構築します
「Pathオブジェクト」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全4レッスンが含まれています。
pathlibによる現代的なパス操作
pathlibモジュールは、ファイルシステムのパスを単なる文字列ではなくオブジェクトとして表します。Pathオブジェクトは、パスの結合、分割、検査を自身で処理でき、多くのos.path関数を置き換えます。
Pathの作成
Pathをインポートし、文字列からPathを構築します。これを出力すると、パスの文字列が表示されます。
from pathlib import Path
p = Path('folder/file.txt')
print(p)/演算子による結合
スラッシュ演算子はパスの各部分を結合します。文字列連結よりもはるかに読みやすく、どのOSでも区切り文字を正しく処理します。
from pathlib import Path
base = Path('data')
full = base / 'reports' / 'march.txt'
print(full)名前、ステム、サフィックス
パスの各部分はプロパティとして利用できます。nameは最後の要素、stemは拡張子を除いた部分、suffixは拡張子を表します。
from pathlib import Path
p = Path('data/report.csv')
print(p.name)
print(p.stem)
print(p.suffix)親ディレクトリ
parentプロパティは、格納先のディレクトリを別のPathとして返します。これを連鎖させると、上位のディレクトリへ移動できます。
from pathlib import Path
p = Path('a/b/c/file.txt')
print(p.parent)
print(p.parent.parent)すべての構成要素
partsプロパティはすべての構成要素を含むタプルを返します。パスの各部分を反復処理するときに便利です。
from pathlib import Path
p = Path('usr/local/bin')
print(p.parts)拡張子の変更
with_suffix()は異なる拡張子を持つ新しいパスを返し、with_name()は最後の構成要素全体を置き換えます。
from pathlib import Path
p = Path('report.txt')
print(p.with_suffix('.md'))
print(p.with_name('summary.txt'))現在のディレクトリとホームディレクトリ
クラスメソッドのPath.cwd()とPath.home()は、現在の作業ディレクトリとユーザーのホームディレクトリを返します。
from pathlib import Path
print(type(Path.cwd()))
print(type(Path.home()))存在と種類の確認
exists()、is_file()、is_dir()を使ってファイルシステムを確認します。これらは、パスが存在しない場合でも例外を発生させず、ブール値を返します。
from pathlib import Path
p = Path('definitely_not_here_12345.txt')
print(p.exists())
print(p.is_file())
print(p.is_dir())必要なときはパスを文字列として扱う
ほとんどのファイル操作関数は、Pathオブジェクトをそのまま受け取れます。本当に文字列が必要な場合は、str()でラップします。
from pathlib import Path
p = Path('data') / 'file.txt'
text = str(p)
print(text)
print(type(text))設計段階からクロスプラットフォーム
Pathは、実行しているオペレーティングシステムに適した区切り文字を自動的に使用します。/で連結する同じコードを書けば、Linux、macOS、Windowsで正しいパスが生成されます。
from pathlib import Path
p = Path('config') / 'settings' / 'app.ini'
print(p)
print(p.name)クイックチェック
Pathオブジェクトに対して/演算子を使うと、何が起こりますか?
まとめ
最新の方法でパスを構築する方法を学びました。
Pathはファイルシステムのパスをオブジェクトとして表します。/で連結し、name、stem、suffix、parent、partsで内容を確認します。with_suffixとwith_nameで新しいパスを作成します。exists、is_file、is_dirでファイルシステムを確認します。
よくある質問
「Pathオブジェクト」レッスンは無料ですか?
はい。「Pathオブジェクト」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python Academyコースには全4レッスンが含まれています。
「Pathオブジェクト」で何を学びますか?
現代的な方法でパスを構築します ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Python Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPython Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Pathオブジェクト」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPython Academyレッスンでコードを書いて実行できますか?
はい。すべてのPython Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。