Help us understand the problem. What is going on with this article?

python glob/osの使い方まとめ

pythonのglob/osの使い方まとめ

glob

pythonのライブラリであるglobは引数に指定されたパターンにマッチするファイルパス名を取得することができます
例えば.jpg形式を全部取ってきて!
みたいな感じです
機械学習や深層学習でよく使います

import glob

以下はglobをインポートしているものとして進めていきます

実装例

#dataフォルダの中にある.jpg形式のもを取得する

images = glob.glob('./data/*.jpg')
print(images)
#出力 ['./data/2.jpg', './data/3.jpg', './data/1.jpg']

*.jpg の*は長さ0文字以上の任意の文字列です


os

続いてファイル、ディレクトリを操作することができるosについてみていきます
よく、globと一緒に使われます

import os 

を前提として書いていきます

ディレクトリの生成

os.mkdir('./sample')

とすると新しくフォルダsampleが生成されます

ファイルの一覧

mkdirを実行した後に確認してみましょう
system()によりunixのコードをpythonで記述することができます

os.system('ls')
#出力 a.py    data    sample

よってsampleというディレクトリが増えていることが確認できます

ファイルやディレクトリの存在確認

次はos.path()を用いてファイル、ディレクトリが存在するか確認してみましょう


print(os.path.exists('./sample'))
# 出力 True

ファイル名やパスなどの取得

指定したパスからファイル名を取得したい場合や、逆にファイル名を取り除いたパスを取得したい場合には

.
├── ./a.py
├── ./data
   ├── ./data/1.jpg
   ├── ./data/2.jpg
   └── ./data/3.jpg
└── ./sample

このような構成で行なっています


path = './data/1.jpg'

print(os.path.basename(path))
#出力 1.jpg

print(os.path.dirname(path))
#出力 ./data

このように必要なものだけが取得できます(取り除かれて)

パスとファイル名などを結合

os.join() をみていきます


path = "/a/b/c"

file = "file.py"

print(os.path.join(path, file))
#出力 /a/b/c/file.py

このように結合することができます

最後に

これからもどんどん挙げていきます
人工知能に興味のある方、大学生、大学院生、社会人、どなたでもお話ししましょう!!
twitter

これからの予定としてはdeep learning , machine leraning などのアルゴリズム、実装、紹介を投稿していきますので気軽に訪問してください!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした