<commit_before>"""
pathlib モジュールについてのサンプルです。

REFERENCES::
  * https://docs.python.jp/3/library/pathlib.html
"""
import itertools as it
import pathlib
import tempfile

from trypython.common.commoncls import SampleBase
from trypython.common.commonfunc import pr, hr


class Sample(SampleBase):

    def exec(self):
        """サンプル処理を実行します"""
        ###########################################################
        # pathlib の基本的な使い方
        # ---------------------------------------------------------
        # pathlib は、 3.4 から追加されたモジュール。
        # これまで、 os.path などを利用して処理していたパス操作を専門に担当する
        # モジュールである。
        #
        # pathlib モジュールで根幹となるアイテムは pathlib.Path となる。
        #
        # pathlib は、純粋パスと具象パスの２種類の概念を扱う。
        # クラス階層については、以下の公式ドキュメントを見るとわかりやすい。
        #   - https://docs.python.jp/3/library/pathlib.html
        #
        # 純粋パスは実際にOSに存在しているかどうかは関係なく処理できる。
        # なので、OSにアクセスすることなく処理を確認したい場合などに利用できるらしい。
        # （使ったことがありません。）
        #
        ###########################################################

        with tempfile.TemporaryDirectory() as tmpdir:
            #
            # (1) Path インスタンスの作成
            #
            hr('Path.ctor()')
            tmp_dir = pathlib.Path(tmpdir)
            pr('/tmp', tmp_dir)<commit_msg>fix CodeFactor issue<commit_after>"""
pathlib モジュールについてのサンプルです。

REFERENCES::
  * https://docs.python.jp/3/library/pathlib.html
"""
import itertools as it
import pathlib
import tempfile

from trypython.common.commoncls import SampleBase
from trypython.common.commonfunc import pr, hr


class Sample(SampleBase):

    def exec(self):
        """サンプル処理を実行します"""
        ###########################################################
        # pathlib の基本的な使い方
        # ---------------------------------------------------------
        # pathlib は、 3.4 から追加されたモジュール。
        # これまで、 os.path などを利用して処理していたパス操作を専門に担当する
        # モジュールである。
        #
        # pathlib モジュールで根幹となるアイテムは pathlib.Path となる。
        #
        # pathlib は、純粋パスと具象パスの２種類の概念を扱う。
        # クラス階層については、以下の公式ドキュメントを見るとわかりやすい。
        #   - https://docs.python.jp/3/library/pathlib.html
        #
        # 純粋パスは実際にOSに存在しているかどうかは関係なく処理できる。
        # なので、OSにアクセスすることなく処理を確認したい場合などに利用できるらしい。
        # （使ったことがありません。）
        #
        ###########################################################

        with tempfile.TemporaryDirectory() as tmpdir:
            #
            # (1) Path インスタンスの作成
            #
            hr('Path.ctor()')
            tmp_dir = pathlib.Path(tmpdir)
            pr('tmp_dir', tmp_dir)
{'fraction_non_alphanumeric': 0.22252747252747251, 'fraction_numerical': 0.004709576138147566, 'mean_word_length': 2.0563549160671464, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2219021', 'n_tokens_mistral': 1132, 'n_tokens_neox': 1040, 'n_words': 121}