Select 场景中只有 .tif 文件,Maya-Python
Select only .tif files in scene, Maya-Python
我正在尝试创建一个小工具,我可以在其中 select 我场景中的所有文件(纹理)并对其应用特定的过滤器。
我得到了场景中存在的 '.fileTextureName'
属性的列表,并且我得到了我拥有的每个 .exr
和 .tif
。但我试图从我的列表中删除 .exr
,并且仅将过滤器应用于 .tif
。
我还没有找到制作属性列表或 select 我想要的文件类型的方法。
这只是脚本的开头:
import maya.cmds as cmds
allFileNodes = cmds.ls(type="file")
def attrList():
for eachFile in allFileNodes:
currentFile = cmds.getAttr(eachFile + '.fileTextureName')
print currentFile
attrList()
感谢任何帮助!!
如果您只是想根据文件扩展名过滤要操作的内容,那么您可以使用 .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.
我正在尝试创建一个小工具,我可以在其中 select 我场景中的所有文件(纹理)并对其应用特定的过滤器。
我得到了场景中存在的 '.fileTextureName'
属性的列表,并且我得到了我拥有的每个 .exr
和 .tif
。但我试图从我的列表中删除 .exr
,并且仅将过滤器应用于 .tif
。
我还没有找到制作属性列表或 select 我想要的文件类型的方法。
这只是脚本的开头:
import maya.cmds as cmds
allFileNodes = cmds.ls(type="file")
def attrList():
for eachFile in allFileNodes:
currentFile = cmds.getAttr(eachFile + '.fileTextureName')
print currentFile
attrList()
感谢任何帮助!!
如果您只是想根据文件扩展名过滤要操作的内容,那么您可以使用 .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.