IndentationError: Unerwarteter Einzug WARUM?
IndentationError: Unerwarteter Einzug WARUM ???
<code>#!/usr/bin/python import sys class Seq: def __init__(self, id, adnseq, colen): self.id = id self.dna = adnseq self.cdnlen = colen self.prot = "" def __str__(self): return ">%s\n%s\n" % (self.id, self.prot) def translate(self, transtable): self.prot = "" for i in range(0,len(self.dna),self.cdnlen): codon = self.dna[i:i+self.cdnlen] aa = transtable[codon] self.prot += aa def parseCommandOptions(cmdargs): tfname = cmdargs[1] sfname = cmdargs[2] return (tfname, sfname) def readTTable(fname): try: ttable = {} cdnlen = -1 tfile = open(fname, "r") for line in tfile: linearr = line.split() codon = linearr[0] cdnlen = len(codon) aa = linearr[1] ttable[codon] = aa tfile.close() return (ttable, cdnlen) def translateSData(sfname, cdnlen, ttable): try: sequences = [] seqf = open(seq_fname, "r") line = seqf.readline() while line: if line[0] == ">": id = line[1:len(line)].strip() seq = "" line = seqf.readline() while line and line[0] != '>': seq += line.strip() line = seqf.readline() sequence = Seq(id, seq, cdnlen) sequence.translate(ttable) sequences.append(sequence) seqf.close() return sequences if __name__ == "__main__": (trans_table_fname, seq_fname) = parseCommandOptions(sys.argv) (transtable, colen) = readTTable(trans_table_fname) seqs = translateSData(seq_fname, colen, transtable) for s in seqs: print s </code>
Es sagt:
<code> def translateSeqData(sfname, cdnlen, ttable): ^ IndentationError: unexpected unindent </code>
WARUM? Ich habe tausendmal nachgesehen und kann das Problem nicht finden. Ich habe nur Tabulatoren und keine Leerzeichen verwendet. Außerdem wird manchmal gefragt, ob die Klasse definiert werden soll. Ist das in Ordnung?