Я обнаружил некоторые особенности, если я выполняю эти файлы в Python IDLE, это работает, но если я выполняю эти файлы в PyCharm, это не работает. Я хочу знать причину, почему это не работает.
import os
import sys
file_dir = os.path.dirname(__file__)
sys.path.append(file_dir)
sys.path.append('/NaverNews/Main/News/FirstNews')
sys.path.append('/NaverNews/Default/Default')
from urllib.request import urlopen
from bs4 import BeautifulSoup
import json
from FirstNews import *
from Default import *
import datetime
import random
random.seed(datetime.datetime.now())
class NaverNews:
def __init__(self, NewsLists):
self.FirstNewsSite = NewsLists
# self.SecondNewsSite = NewsLists
# self.ThirdNewsSite = NewsLists
# self.FourthNewsSite = NewsLists
# self.FifthNewsSite = NewsLists
# self.RealTimeNews = NewsLists
self.Default = NewsLists
# @property
# def NewsLists(self):
# return self.NewsLists
# def SelectNums(self, new_NewsLists):
def __call__(self):
print("Please Select the News Site")
MenuInput = input("Select The Menu")
MenuList = []
while 1:
if MenuInput is 1:
self.FirstNewsSite()
MenuList.append(FirstNews)
else:
self.Default()
MenuList.append(DefaultNews)
И
# Default.py
import sys
sys.path.append('/NaverNews/Main/Main')
from Main import *
@NaverNews
def DefaultNews():
print("Shutting Down the Program")
exit(0)
DefaultNews()
Traceback (последний вызов был последним):
Файл "E: /Python_Class/Web_Crawling_and_ChatBot_1/NaverNews/Main/Main.py", строка 12, в
из импорта FirstNews *
Файл "E: \ Python_Class \ Web_Crawling_and_ChatBot_1 \ NaverNews \ Main \ News \ FirstNews.py", строка 3, в
из основного импорта *
Файл "E: \ Python_Class \ Web_Crawling_and_ChatBot_1 \ NaverNews \ Main \ Main.py", строка 13, в
из импорта по умолчанию *
Файл "E: \ Python_Class \ Web_Crawling_and_ChatBot_1 \ NaverNews \ Default \ Default.py", строка 6, в
@ NaverNews.Default
NameError: имя 'NaverNews' не определено