TabError没有明显的原因在python中

时间:2015-03-23 20:29:18

标签: python unit-testing indentation

#Tests the class Hashtabell in the file hashfil.py
from hashfil import Hashtabell
import unittest

class Test():

    def setUp(self):
            self.atomlista = []
            data = "H  1.00794;\
            He 4.002602;\
            Li 6.941;\
            Be 9.012182;\
            B  10.811;\
            C  12.0107;\
            N  14.0067;\
            O  15.9994;\
            F  18.9984032;\
            Ne 20.1797;\
            Na 22.98976928;\
            Mg 24.3050;\
            Al 26.9815386;\
            Si 28.0855;\
            P  30.973762;\
            S  32.065;\
            Cl 35.453;\
            K  39.0983;\
            Ar 39.948;\
            Ca 40.078;\
            Sc 44.955912;\
            Ti 47.867;\
            V  50.9415;\
            Cr 51.9961;\
            Mn 54.938045;\
            Fe 55.845;\
            Ni 58.6934;\
            Co 58.933195;\
            Cu 63.546;\
            Zn 65.38;\
            Ga 69.723;\
            Ge 72.64;\
            As 74.92160;\
            Se 78.96;\
            Br 79.904;\
            Kr 83.798;\
            Rb 85.4678;\
            Sr 87.62;\
            Y  88.90585;\
            Zr 91.224;\
            Nb 92.90638;\
            Mo 95.96;\
            Tc 98;\
            Ru 101.07;\
            Rh 102.90550;\
            Pd 106.42;\
            Ag 107.8682;\
            Cd 112.411;\
            In 114.818;\
            Sn 118.710;\
            Sb 121.760;\
            I  126.90447;\
            Te 127.60;\
            Xe 131.293;\
            Cs 132.9054519;\
            Ba 137.327;\
            La 138.90547;\
            Ce 140.116;\
            Pr 140.90765;\
            Nd 144.242;\
            Pm 145;\
            Sm 150.36;\
            Eu 151.964;\
            Gd 157.25;\
            Tb 158.92535;\
            Dy 162.500;\
            Ho 164.93032;\
            Er 167.259;\
            Tm 168.93421;\
            Yb 173.054;\
            Lu 174.9668;\
            Hf 178.49;\
            Ta 180.94788;\
            W  183.84;\
            Re 186.207;\
            Os 190.23;\
            Ir 192.217;\
            Pt 195.084;\
            Au 196.966569;\
            Hg 200.59;\
            Tl 204.3833;\
            Pb 207.2;\
            Bi 208.98040;\
            Po 209;\
            At 210;\
            Rn 222;\
            Fr 223;\
            Ra 226;\
            Ac 227;\
            Pa 231.03588;\
            Th 232.03806;\
            Np 237;\
            U  238.02891;\
            Am 243;\
            Pu 244;\
            Cm 247;\
            Bk 247;\
            Cf 251;\
            Es 252;\
            Fm 257;\
            Md 258;\
            No 259;\
            Lr 262;\
            Rf 265;\
            Db 268;\
            Hs 270;\
            Sg 271;\
            Bh 272;\
            Mt 276;\
            Rg 280;\
            Ds 281;\
            Cn 285"
            self.atomlista = data.split(";")
            antalElement = len(self.atomlista)
            hashtabell = Hashtabell(antalElement)
            for element in self.atomlista:
            namn, vikt = element.split()
            nyAtom = Atom(namn, float(vikt))
            hashtabell.put(namn, nyAtom)
            self.hashtabell = hashtabell


    def allaAtomerFinns(self):
        """Tests if you can find all atoms in the hashtable"""
        antal = 0
        OK = True
        print("\n-------------------------------------------------------")
        print(" * Testar att hitta alla atomer i hashtabellen...")
        for kontrollAtom in self.atomlista:
            namn, vikt = kontrollAtom.split()
            hashadAtom = hashtabell.get(namn)

        self.assertEqual(hashadAtom.vikt,vikt)

if __name__ == '__main__':
    unittest.main()

所以我正在尝试进行单元测试,这是我有多远。不幸的是我收到了这个错误:

TabError: inconsistent use of tabs and spaces in indentation
n160-p132:A SahandZarrinkoub$ python3 unittest.py
  File "unittest.py", line 121
    self.atomlista = data.split(";") 

我无法弄清楚为什么。我已经检查了文档中的所有选项卡,空格等。

感谢任何帮助。

萨罕德

1 个答案:

答案 0 :(得分:0)

我发现我的代码实际上有一些缩进,包括空格而不是制表符。我的编辑器有一个功能,可以找到这些空格组并用标签替换它们,从而解决了这个问题。