2015-09-27 87 views
1

我正在針對Autodesk Maya中的Python腳本可迭代和我有自3周就開始出現問題。類型錯誤:「NoneType」對象未在瑪雅蟒蛇

import maya.cmds as cmds 
import os.path 
import ntpath 

    global directory_Seqs 
    global directory_Seqs_2 
    global direction_0 
    global listSeqOption 
    direction_0 = cmds.fileDialog2(fileMode=3,dialogStyle = 1) 
    directory_Seqs = os.path.join(direction_0,'03_TRAVAIL','3D','SEQ') 
    directory_Seqs_2 = os.path.normpath(directory_Seqs[0]) 

    print directory_Seqs_2 

    listSeqOption = cmds.getFileList(directory_Seqs_2) 
    for seq in listSeqOption : 
     seq = cmds.menuItem('listSeq', label= seq , parent="UI_SeqOptionMenu") 

它的工作在Linux上,但我有Windows上的失敗:

# TypeError: 'NoneType' object is not iterable # 

listSeqOption 

能有人知道如何解決它?

+0

你不需要那些'global'聲明。此外,示出的代碼不是正確地縮進。 – saulspatz

回答

2

Maya對於返回值是愚蠢的:如果您的文件路徑不存在,那麼調用getFileList將返回None而不是空列表。這樣寫是個好習慣:

listSeqOption = cmds.getFileList(directory_Seqs_2) or [] 

即使命令返回None,它將返回一個空列表。同樣是與應返回列出了許多其他的命令,尤其是ls如此。

相關問題