PySideでリソースの一覧を取得する方法!!

takkun
どうも!たっくんです。

Mayaにあるリソースを、自分のツールでも使いたいなーってことよくありますよね!それ以外にも、qrcを変換したリソースファイルに目的の画像があるか確認したい時もあると思います!

そんな時に便利なのが「QDir」の「entryList」です!(*´ω`*)

リソース一覧の取得

PySideで、Mayaなどリソースの一覧を取得したい場合は以下のようにします!

from PySide import QtCore
files = QtCore.QDir(':').entryList()

Mayaの場合、「resourceManager」を使う方法もありますが、Maya2016で比較したところ、面白い結果がでました!

調べ方 ファイル数
PySide経由 4367
Mayaコマンド経由 2527

Maya以外のリソースが含まれている可能性があるとはいえ、PySide経由のほうが圧倒的に多いんですね!(゚A゚;)ゴクリ

差分のファイルをチェックしたい場合は、以下のコードで観てみてください(`・ω・´)ゞ

from PySide import QtCore
from maya import cmds

setA = set(QtCore.QDir(':').entryList())
setB = set(cmds.resourceManager(nf='*'))
setC = setA - setB
for x in setC:
    print x

特定のディレクトリを調べる

自分のツールなど、ディレクトリを指定して調べたい場合は、以下のようにします。

from PySide import QtCore
files = QtCore.QDir(':[ディレクトリ名]').entryList()