Выберите только файлы .tif в сцене, Maya- Python - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь создать небольшой инструмент, в котором я выбираю все файлы (текстуры) в моей сцене и применяю к ним специальный c фильтр. Я получаю список '.fileTextureName' атрибутов, существующих на моей сцене, и получаю все. exr и .tif, которые у меня есть. Но я пытаюсь удалить .exr из своего списка и применить фильтр только к .tif. Я не нашел способа составить список атрибутов или выбрать только тип файла, который я хочу.

Вот только начало сценария:

import maya.cmds as cmds

allFileNodes = cmds.ls(type="file")

def attrList():
    for eachFile in allFileNodes:

        currentFile = cmds.getAttr(eachFile + '.fileTextureName')
        print currentFile


attrList()

Любой помощь приветствуется!

1 Ответ

1 голос
/ 04 мая 2020

Если вы просто хотите отфильтровать, над чем работать, на основании его расширения файла, то вы можете использовать .endswith, чтобы включить только расширения tif:

import maya.cmds as cmds

all_file_nodes = cmds.ls(type="file")

for each_file in all_file_nodes:
    image_path = cmds.getAttr(each_file + ".fileTextureName")  # Get the image's path the file is referencing.
    if image_path.lower().endswith(".jpg"):  # Only continue if the image ends with `tif`, we include `.lower()` in case the extension is upper case.
        print image_path  # Only tifs beyond this point, do what you want.
...