0

我正在尝试遍历 2 个列表,然后加入它们。但是我在构建循环代码时遇到了麻烦。

这是 Softimage(动画 3D 程序)代码,但我希望它有意义。

这就是我所拥有的:

import os
import glob
app = Application
storeSelect=[]
mypath = app.ActiveProject.ActiveScene.filename.value
folder=[]
storeAll=[]
listObj=[]
path=[]
storeSelecte=[]
folderAll=[]
#Seleccion
app.SelectObj("*.geometry_cache_grp*")
mySelection = app.Selection


# GETS PATHS FOr each Character Folder

userPath=Application.XSIInputBox ("Direccion de Cache", "Cache")+ "/" 
os.chdir(userPath)


#/loops

for lis in mySelection:
    storeSelect.append(lis)
    members = app.SelectMembers(lis)
    app.SelectObj("*.geometry_cache_grp*")
    mySelection = app.Selection

    for files in sorted(glob.glob("*.scn_c*")):
        folder=files
        for lise in members:
            print lise,folder

但我得到了两次结果,如下所示:

# DI_CACHE.lengua Anim_2p.scn_c_DI_rig
# DI_CACHE.vidrios Anim_2p.scn_c_DI_rig
# DI_CACHE.dientes_abajo Anim_2p.scn_c_DI_rig
# DI_CACHE.lengua Anim_2p.scn_c_TOTO_GALLO_rig
# DI_CACHE.vidrios Anim_2p.scn_c_TOTO_GALLO_rig
# DI_CACHE.dientes_abajo Anim_2p.scn_c_TOTO_GALLO_rig
# TOTO_GALLO_cache.lengua Anim_2p.scn_c_DI_rig
# TOTO_GALLO_cache.dientes_01 Anim_2p.scn_c_DI_rig
# TOTO_GALLO_cache.plumas_guantes Anim_2p.scn_c_DI_rig
# TOTO_GALLO_cache.lengua Anim_2p.scn_c_TOTO_GALLO_rig
# TOTO_GALLO_cache.dientes_01 Anim_2p.scn_c_TOTO_GALLO_rig
# TOTO_GALLO_cache.plumas_guantes Anim_2p.scn_c_TOTO_GALLO_rig

有谁知道如何纠正我的循环,所以它只经过一次(仅)?结果应如下所示:

# DI_CACHE.lengua Anim_2p.scn_c_DI_rig
# DI_CACHE.vidrios Anim_2p.scn_c_DI_rig
# DI_CACHE.dientes_abajo Anim_2p.scn_c_DI_rig 
# TOTO_GALLO_cache.lengua Anim_2p.scn_c_TOTO_GALLO_rig
# TOTO_GALLO_cache.dientes_01 Anim_2p.scn_c_TOTO_GALLO_rig
# TOTO_GALLO_cache.plumas_guantes Anim_2p.scn_c_TOTO_GALLO_rig
4

1 回答 1

0

我不确定它是否对您有帮助,但您可以执行以下操作:

members=[["DI_CACHE.lengua","DI_CACHE.vidrios","DI_CACHE.dientes_abajo"],["TOTO_GALLO_cache.lengua","TOTO_GALLO_cache.dientes_01","TOTO_GALLO_cache.plumas_guantes"]]'

folders=[["Anim_2p.scn_c_DI_rig"],["Anim_2p.scn_c_TOTO_GALLO_rig"]]

然后

for i in xrange(len(a)):
    for n,m in itertools.product(a[i],b[i]):
        print n,m

结果:

DI_CACHE.lengua Anim_2p.scn_c_DI_rig
DI_CACHE.vidrios Anim_2p.scn_c_DI_rig
DI_CACHE.dientes_abajo Anim_2p.scn_c_DI_rig
TOTO_GALLO_cache.lengua Anim_2p.scn_c_TOTO_GALLO_rig
TOTO_GALLO_cache.dientes_01 Anim_2p.scn_c_TOTO_GALLO_rig
TOTO_GALLO_cache.plumas_guantes Anim_2p.scn_c_TOTO_GALLO_rig
于 2013-04-10T07:51:53.610 回答