Python Pathlibライブラリ
1695 ワード
深い学習訓練データセットを準備する際には,データセットが存在する文集クリップを操作する必要があることが多い.
たとえば、いくつかのピクチャのパス情報を取得し、パスリストを生成して後期datasetの準備をします.
Pythonには多くの操作経路のライブラリがあり、Pathlibは使いやすいライブラリの一つです.
たとえば、画像データを収集したフォルダは次のとおりです.全てのピクチャパスを含むリストを取得したい: 特定のタイプのファイルを検索する: pathlib.Path(./)が返すオブジェクトには、glob機能が強力な方法がたくさんあります.
root_dir.glob('**/*.jpg')の**は、現在のディレクトリから最も深いディレクトリまでを表します.
jpg文集は実際には現在のディレクトリの2級ディレクトリである.
したがって、次のようになります.
root_dir.glob('*/*.jpg')はroot_に等しいdir.glob('*/*/*.jpg')
たとえば、いくつかのピクチャのパス情報を取得し、パスリストを生成して後期datasetの準備をします.
Pythonには多くの操作経路のライブラリがあり、Pathlibは使いやすいライブラリの一つです.
たとえば、画像データを収集したフォルダは次のとおりです.
.
└── images
├── cat
│ ├── 1.jpg
│ ├── 2.jpg
│ └── 3.jpg
├── dog
│ ├── 1.jpg
│ ├── 2.jpg
│ └── 3.jpg
└── pig
├── 1.jpg
├── 2.jpg
└── 3.jpg
import pathlib
root_dir = pathlib.Path("./")
all_img_path = root_dir.glob('**/*.jpg')
print(all_img_path) # output:
print(list(all_img_path)) # output: [PosixPath('images/dog/3.jpg'), PosixPath('images/dog/2.jpg'), PosixPath('images/dog/1.jpg'), PosixPath('images/pig/3.jpg'), PosixPath('images/pig/2.jpg'), PosixPath('images/pig/1.jpg'), PosixPath('images/cat/3.jpg'), PosixPath('images/cat/2.jpg'), PosixPath('images/cat/1.jpg')]
all_img_path = [str(path) for path in all_img_path]
print(all_img_path) # output: ['images/dog/3.jpg', 'images/dog/2.jpg', 'images/dog/1.jpg', 'images/pig/3.jpg', 'images/pig/2.jpg', 'images/pig/1.jpg', 'images/cat/3.jpg', 'images/cat/2.jpg', 'images/cat/1.jpg']
root_dir.glob('**/*.jpg')の**は、現在のディレクトリから最も深いディレクトリまでを表します.
jpg文集は実際には現在のディレクトリの2級ディレクトリである.
したがって、次のようになります.
root_dir.glob('*/*.jpg')はroot_に等しいdir.glob('*/*/*.jpg')