ティロといいます.
他人のコードを読む際に,やたらos.path関連の処理が書かれているので
この記事でまとめようと思います.
os.pathはパス操作で役立つライブラリです.
ファイルや拡張子を取得したりと様々な機能があります.
目次
os.pathについて
os.path.basename()
ファイル名を取得する
1 2 3 4 5 6 | import os #ファイルパス path = './train/config/dataset.json' print(os.path.basename(path)) #実行結果 dataset.json |
os.path.dirname()
ディレクトリ名を取得する.
1 2 3 4 5 6 | import os #ファイルパス path = './train/config/dataset.json' print(os.path.dirname(path)) #実行結果 ./train/config |
os.path.exists()
ファイルあるいはディレクトリが存在しているかどうか確認できる
存在している場合はTrueを存在しない場合はFalseを返す
1 2 3 4 5 6 | import os #ファイルパス path = './train/config/dataset.json' print(os.path.exists(path)) #実行結果 True |
os.path.expanduser()
ファイル,ディレクトの絶対パスを返す
1 2 3 4 5 | import os path = '~/test/test.txt' print(os.path.expanduser(path)) #実行結果 C:/Users/username/test/test.txt |
os.path.join()
パスに文字列を連結できる.
1 2 3 4 5 6 | import os #ファイルパス file = 'dataset.json' print(os.path.join("hoge/hoge",file)) #実行結果 hoge/hoge/dataset.json |
os.path.splitext()
拡張子を取得する.
1 2 3 4 5 6 | import os #ファイルパス path = './train/config/dataset.json' print(os.path.splitext(path)) 実行結果 ('./train/config/dataset', '.json') |
拡張子以外と拡張子をそれぞれ取得したい場合
また拡張子と分けたものを+するともとに戻る.
1 2 3 4 5 6 7 8 9 10 11 | import os #ファイルパス path = './train/config/dataset.json' root , expand = os.path.splitext(path) print(root) print(expand) print(root + expand) #実行結果 ./train/config/dataset .json ./train/config/dataset.json |
os.path.split()
ファイル名とディレクト名を両方取得できる.
1 2 3 4 5 6 7 8 9 | import os #ファイルパス path = './train/config/dataset.json' dir,file = os.path.split(path) print(dir) print(file) #実行結果 ./train/config dataset.json |
os.path.isfile()
ファイルが存在するか確認できる.
存在する場合はTrueをない場合はFalseとなる
1 2 3 4 5 6 | import os #ファイルパス path = './train/config/dataset.json' print(os.path.isfile(path)) #実行結果 True |
os.path.isdir()
ディレクトリが存在するか確認できる.
動作はisfileと同様
1 2 3 4 5 6 | import os #ファイルパス path = './train/config/' print(os.path.isdir(path)) #実行結果 True |
参考にしたもの