![](/img/trans.png)
[英]How to solve ImportError: cannot import name splitfn in python
[英]Cannot solve Python ImportError: cannot import name 'FirstNews'
我目前正在使用繼承類使用 Python 制作我自己的項目,如果我從 A 類,父類中選擇菜單,然后移動到 B 類,子類,如果我從 B 類,子類中選擇菜單,我會喜歡轉A班,這個問題怎么解決?
我嘗試用 Python Decorator 制作這些文件,但 Decorator 只能使用一個文件。 所以我嘗試使用 Python 繼承在 A 類和 B 類之間自由移動,但無濟於事。
主要.py:
# this is the Main.py
from FirstNews import FirstNews
from Default import Default
import datetime
import random
random.seed(datetime.datetime.now())
class NaverNews:
def __init__(self, news_lists):
self.FirstNewsSite = news_lists
self.Default = news_lists
def __call__(self):
print("Select the News site that you want to read")
menu_input = input("Selection Menu")
menu_list = []
while 1:
if menu_input is 1:
self.FirstNewsSite()
menu_list.append(FirstNews)
else:
self.Default()
menu_list.append(Default)
break
第一新聞.py:
# This is the FirstNews.py
import sys
from Main import NaverNews
from Default import Default
sys.path.append('/NaverNews/Main/Main')
# noinspection PyCallByClass
class FirstNews(NaverNews):
def __init__(self, my_choice):
NaverNews.__init__(self, my_choice)
self.myFirstChoice = my_choice
self.mySecondChoce = my_choice
self.myBackMenu = my_choice
self.myDefault = my_choice
def __call__(self):
print("Select the News Company that you want to read")
FirstInput = input()
FirstList = []
while 1:
if FirstInput is 1:
self.myFirstChoice()
FirstList.append(NaverNews)
# print("실행")
elif FirstInput is 2:
print("Going Back to Main.py")
self.myBackMenu()
FirstList.append(NaverNews)
else:
self.Default()
FirstList.append(Default)
break
默認.py:
# This is the Default.py
import sys
from Main import NaverNews
sys.path.append('/NaverNews/Main/Main')
class Default(NaverNews):
def __init__(self, myDefaultMenu):
NaverNews.__init__(self, myDefaultMenu)
self.myDefaultMenu = myDefaultMenu
def __call__(self):
print("You chose the wrong button\n Would you like to choose again? [Y / N]")
DefaultInput = input()
DefaultList = []
if DefaultInput is 'y' or 'Y':
self.myDefaultMenu()
DefaultList.append(NaverNews)
else:
print("Shut down the program")
exit(0)
並且發生了錯誤。
Traceback (most recent call last):
File "E:/Python_Class/Web_Crawling_and_ChatBot_1/NaverNews/Main/Main.py", line 12, in <module>
from FirstNews import FirstNews
File "E:\Python_Class\Web_Crawling_and_ChatBot_1\NaverNews\Main\News\FirstNews.py", line 3, in <module>
from Main import NaverNews
File "E:\Python_Class\Web_Crawling_and_ChatBot_1\NaverNews\Main\Main.py", line 12, in <module>
from FirstNews import FirstNews
ImportError: cannot import name 'FirstNews'
您的FirstNews.py
文件位於子文件夾News
在Main
文件中,嘗試
from News.FirstNews import FirstNews
編輯:我意識到你的模塊相互導入。 這對我來說有點奇怪,因為調試器會混淆哪個是主文件。 並且會卡在導入模塊的循環中。 您應該考慮更改代碼結構。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.