zoukankan      html  css  js  c++  java
  • mayaPython中函数运用*args,**kwargs 。重命名贴图

    maya中使用函数,重命名贴图。

    *得到的是元组。

    def process_all_textures(*args):
    	print (args[0],args[1:])
    
    tx1 = cmds.shadingNode('file', asTexture=True)
    tx2 = cmds.shadingNode('file', asTexture=True)
    tx3 = cmds.shadingNode('file', asTexture=True)
    tx4 = cmds.shadingNode('file', asTexture=True)
    tex_list = [tx1,tx2,tx3,tx4]
    
    process_all_textures('grass_',tex_list)
    #('grass_', ([u'file1', u'file2', u'file3', u'file4'],))
    
    process_all_textures('grass_',*tex_list)
    #('grass_', (u'file1', u'file2', u'file3', u'file4'))
    

    ** 键值字典  

    setdefault() 字典对象使用的函数。第一个位置是键,第二个位置没有值,则返回值None。

    import maya.cmds as cmds
    
    def process_all_textures(**kwargs):
    	pre = kwargs.setdefault('prefix','my_')
    	texture = kwargs.setdefault('texture_node')
    	print ('%s%s'%(pre,texture))
    process_all_textures()
    #my_None
    
    process_all_textures(prefix='aa_')
    #aa_None
    process_all_textures(texture_node=texture)
    #my_file3
    
    tx1 = cmds.shadingNode('file', asTexture=True)
    arg_dict = {'prefix':'grass','texture_node':tx1}
    process_all_textures(**arg_dict)
    #grassfile1
    

      

     

    pre没有指定prefix值。就会用my_代替。

    texture没有指定,会用None代替

    也可以用**字典传递给函数
    process_all_textures(**arg_dict)

    返回值 return

    可以处理命令啊

    这里创建一个file贴图,然后重命名。

    import maya.cmds as cmds
    texture = cmds.shadingNode('file',asTexture=True)
    
    def process_all_textures(**kwargs):
        prefix = kwargs.setdefault('prefix','my_')
        texture = kwargs.setdefault('texture_node')
        return cmds.rename(texture,'%s%s'%(prefix,texture))
    texture = process_all_textures(texture_node = texture)
    print texture
    
    #my_file1
    

      

  • 相关阅读:
    重排序
    线程的生命周期状态
    并发的有序性
    并发的可见性
    并发的原子性
    Java内存模型
    缓存一致性协议MESI
    lsof
    nmap
    elastcisearch简介
  • 原文地址:https://www.cnblogs.com/3lina/p/10304091.html
Copyright © 2011-2022 走看看