ImportError:无法导入类

我不知道我的代码犯了什么错误。该错误指示无法导入该类。但我不会参与其中。
请帮我拿一下这个。
我的代码是:

选择 | 换行 | 行号
  1. ######## userClass.py ##################
  2. from classTriangle import classTriangle
  3.  
  4. class userClass():
  5.  
  6.     def __init__(self):
  7.         self.getList = []
  8.         self.maxList = 3
  9.  
  10.  
  11.     def getUserList(self):
  12.         print("*** getting user input ***")
  13.         while len(self.getList) < self.maxList:
  14.             item = input("enter numbers: ")
  15.             self.getList.append(item)
  16.         return self.getList    
  17.  
  18.     def showUserList(self,passedList):
  19.         print("*** showing user input ***")
  20.         print (passedList)
  21.         print ("length of the list: ", len(passedList))
  22.  
  23.  
  24. if __name__=='__main__':
  25.     ui = userClass()
  26.     mk = classTriangle()
  27.     displayList = ui.getUserList()
  28.     ui.showUserList(displayList)    
  29.     print(mk.createTriangle())
  30.  
  31.  
  32. ########classTriangle.py############
  33. from userClass import userClass 
  34.  
  35. class classTriangle(): 
  36.  
  37.     def __init__(self):
  38.         self.makeList = []
  39.         self.bridgeList = []
  40.         self.finalList = []   
  41.  
  42.     def createTriangle(self):
  43.         UI = userClass()
  44.         self.makeList = UI.getUserList()
  45.         while len(self.makeList)>1:
  46.             for i in range(len(self.makeList)):
  47.                 j = i + (i+1)
  48.                 self.bridgeList.append(j)
  49.             del self.makeList[:]
  50.             self.makeList.extend(self.bridgeList)  
  51.             self.finalList.extend(self.bridgeList)
  52.             del self.bridgeList[:]
  53.         return self.finalList
  54.  

显示的错误为:

选择 | 换行 | 行号
  1.  
  2. Traceback (most recent call last):
  3.   File "/home/gharry/workspace/myProject/makeTraingle/classTriangle.py", line 6, in <module>
  4.     from userClass import userClass 
  5.   File "/home/gharry/workspace/myProject/makeTraingle/userClass.py", line 6, in <module>
  6.     from classTriangle import classTriangle
  7.   File "/home/gharry/workspace/myProject/makeTraingle/classTriangle.py", line 6, in <module>
  8.     from userClass import userClass 
  9. ImportError: cannot import name 'userClass'
  10.  

请帮帮忙。

# 回答1


因为文件和类具有相同的名称,所以无法判断问题是出在名为userClass.py的程序上,还是出在userClass.py程序内名为UserClass的类上。对于初学者,请查看程序是否在PYTHONPATH中,即您的程序可以通过插入以下内容找到此程序

选择 | 换行 | 行号
  1. if os.path.isfile("userClass.py"):
  2.     import userClass.py
  3. else:
  4.     ## whatever you want

请参阅搜索路径
这里
了解有关按节目扩展搜索路径的信息。在Linux系统上,您可以向~.bashrc文件中的PYTHONPATH变量添加额外的新路径。

# 回答2


@dwblas:
谢谢你的帮助。我已经看过这篇文章了。我已经创建了一个名为"Main"的新类,并实例化了那里的所有类。
谢谢你!

标签: python

添加新评论