Python 类型错误:';非类型';对象是不可编辑的
我在maya 2012中遇到此错误,不确定如何修复,我试图让python在搜索文件夹中的其他文件时忽略init文件。如有任何建议,将不胜感激Python 类型错误:';非类型';对象是不可编辑的,python,typeerror,non-type,Python,Typeerror,Non Type,我在maya 2012中遇到此错误,不确定如何修复,我试图让python在搜索文件夹中的其他文件时忽略init文件。如有任何建议,将不胜感激 Error: 'NoneType' object is not iterable Traceback (most recent call last): File "<maya console>", line 18, in <module> File "E:/3D/maya/2012-x64/scripts/RiggingTo
Error: 'NoneType' object is not iterable
Traceback (most recent call last):
File "<maya console>", line 18, in <module>
File "E:/3D/maya/2012-x64/scripts/RiggingTool/Modules\System\blueprint_UI.py" line 28, in __init__
self.initialiseModuleTab(tabHeight, tabWidth)
File "E:/3D/maya/2012-x64/scripts/RiggingTool/Modules\System\blueprint_UI.py", line 50, in initialiseModuleTab
for module in utils.findAllModules("Modules/Blueprint"):
File "E:/3D/maya/2012-x64/scripts/RiggingTool/Modules\System\utils.py", line 8, in findAllModules
for file in allPyFiles:
TypeError: 'NoneType' object is not iterable
在文件夹中搜索文件的代码:
def findAllModules(relativeDirectory):
# Search the relative directory for all available modules
# Return a list of all module names (excluding the ".py" extension)
allPyFiles = findAllFiles(relativeDirectory, ".py")
returnModules = []
for file in allPyFiles:
if file != "__init__":
returnModules.append(file)
return returnModules
def findAllFiles(relativeDirectory, fileExtension):
# Search the relative directory for all files with the given extension
# Return a list of all file names, excluding the file extension
import os
fileDirectory = os.environ["RIGGING_TOOL_ROOT"] + "/" + relativeDirectory + "/"
allFiles = os.listdir(fileDirectory)
# refine all files, listing only those of the specified file extension
returnFiles = []
for f in allFiles:
splitString = str(f).rpartition(fileExtension)
if not splitString[1] == "" and splitString[2] == "":
returnFiles.append(splitString[0])
print returnFiles
当我在main中添加此代码时,它会中断
for module in utils.findAllModules("Modules/Blueprint"):
同样在\uuuu init\uuuu
文件搜索代码中,如果我添加底部代码,我会得到错误
returnModules = []
for file in allPyFiles:
if file != "__init__":
returnModules.append(file)
return returnModules
我不确定我是如何得到非类型错误的,因为下面两个代码对我来说是正确的。有人能帮我吗?将
print returnFiles
更改为returnFiles将print returnFiles
更改为returnFiles
您没有从findAllFiles()
,所以它返回的是None
——这是不可编辑的。您没有从findAllFiles()
返回returnFiles
,所以它返回的是None
——这是不可编辑的
returnModules = []
for file in allPyFiles:
if file != "__init__":
returnModules.append(file)
return returnModules