我已经写了下面的类定义的文本崇高的Python缩进错误蟒蛇在Python类
class BPHmanager(object):
"""Class for BPHmanager"""
def makeNewProject(self, projname):
if os.path.exists(projname):
print "Directory of that name already exists in current directory."
sys.exit(2) # exit the program.
else:
os.mkdir(projname)
os.chdir(projname)
os.mkdir(".bph")
os.mkdir(".bph/deletes")
defaults = raw_input("Add default datatypes to project? Yy/Nn > ")
if defaults == 'Y' or defaults == 'y':
self.Datatypes = {"reads": [], "assemblies": [], "alignments":[], "annotations":[]}
self.MetadataDefs["reads"] = []
self.MetadataDefs["assemblies"] = []
self.MetadataDefs["alignments"] = []
self.MetadataDefs["annotations"] = []
def saveSettings(self):
settingsfile = open(".bph/bph.settingsfile", 'w')
settingsdict = {self.Organisms, self.Datatypes, self.MetadataDefs}
settingsfile.write(json.dumps(settingsdict, separators=(',',':')))
settingsfile.close()
print "Saved changes to .bph/bph.settingsfile"
def __init__(self, argv):
# and so on
出于某种原因,如果我导入此文件来测试它或复制并粘贴到解释,我总是得到很多的缩进错误,首先是:
def saveSettings(self):
File "<stdin>", line 1
def saveSettings(self):
^
IndentationError: unexpected indent
但对于saveSettings
功能行开始在同一缩进级别前一功能,所以我想不通为什么我得到这个错误。
你尝试4个缩进,而不是两个? – 2014-08-29 21:40:16
适合我。请检查以确保选项卡不会以某种方式隐藏到您的文件中。 (你可以使用'tabnanny'来检查,或者打开Sublime中的不可见字符)。 – nneonneo 2014-08-29 21:59:04