TypeError: объект 'NoneType' не повторяется в Maya Python

Я работаю над скриптом python для autodesk maya, и у меня проблема с его началом с 3 недель.

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

может кто знает как исправить?


person Huluru    schedule 27.09.2015    source источник
comment
Вам не нужны эти global объявления. Кроме того, показанный код имеет неправильный отступ.   -  person saulspatz    schedule 27.09.2015


Ответы (1)


Maya глупо насчет возвращаемых значений: если ваш путь к файлу не существует, вызов getFileList вернет None вместо пустого списка. Хорошая привычка писать это так:

   listSeqOption = cmds.getFileList(directory_Seqs_2) or []

который вернет пустой список, даже если команда вернет None. То же самое и со многими другими командами, которые должны возвращать списки, особенно ls.

person theodox    schedule 28.09.2015