kyasleeto's blog

主に技術的なことについて書き留めておくブログ

Pytestのtmp_pathをStringオブジェクトに変換する

背景

  • Pytestにおいて、一時的なディレクトリやファイルを生成する場合、Pytest組み込みのtmp_pathを利用するときがある。
  • tmp_pathは、pathlib.Pathオブジェクトである。

問題

  • たまにtmp_pathを使用して作った一時的なパス/ファイルを、文字列として取得したい場合がある。

解決法

解決法は単純で、str()で囲むだけ。以下は使用例である。

def test_somthing(tmp_path):
    d = tmp_path / 'mydir'
    d_str = str(d)

上の例で、dはPathオブジェクトだが、d_strはStringオブジェクトになるので、文字列として扱うことができる。