wxpython не может импортировать файлы в одном каталоге - PullRequest
0 голосов
/ 31 мая 2018

Я хотел создать простой графический интерфейс с wxpython (в python 3.6.1), потому что я больше не хотел использовать командную строку для этого проекта.

У меня есть большой файл для логики в другомфайл, который также используется другими файлами, отличными от wxpython.

Но когда я пытаюсь импортировать свой класс логики, я получаю эту ошибку:

ImportError: невозможно импортировать имя 'QuestionAsk'

Я использую эту строку для импорта класса логики:

from Get import QuestionAsk

Файл "Get.py" находится в том же каталоге, что и файл графического интерфейса. Здесь

Но это не работает, почему и как я могу импортировать этот файл?

Кстати, я вызываю файл gui.py из файла get.pyи импортируйте файл get.py из файла Asker.py.

ps: Пожалуйста, постарайтесь не отвечать: «просто скопируйте содержимое этого класса в ваш графический файл», потому что я использую этот класс в другом месте, если естьнет другого решения, тогда это нормально, но это просто уродливо и неэффективно.

Редактировать Вот код из файла Get, который запускает графический интерфейс:

def graphical_start():
    app = wx.App(False)  # int app
    frame = GuiVocCard()  # set frame (GuiVocCard is in the main Gui File)
    frame.Show()  # show frame
    app.MainLoop()  # execute loop

А вот и запуск главного графического интерфейсакласс "GuiVocCard":

class GuiVocCard(wx.Frame):

    def __init__(self):

        self.language = "es"
        self.transList = "C:\\Users\\Justus\\Desktop\\Schule\\spa\VocabGeter\\translations\\big_translation.json"
        self.verb_forms = [0,2]
        self.High_Score = 0
        self.s_file = "scores.json"
        self.S_chunk = 40
        self.chunk_file = "chunks.json"

       self.load_config()
       self.q_ask = QuestionAsk(lan=self.language, trans=self.transList, verb_forms=self.verb_forms,
                             scores_file=self.s_file, chunks_file=self.chunk_file, chunk_size=self.S_chunk)
       ...

Редактировать 2:

Вопрос задается здесь в файле Get.py:

class QuestionAsk:

   def __init__(self,lan="es",trans="C:\\Users\\Justus\\Desktop\\Schule\\spa\VocabGeter\\translations\\translation.json"
             ,verb_forms=[0,2],scores_file="scores.json",chunks_file="chunks.json",chunk_size=40):

       self.language = lan
       self.transList = trans
       self.verb_forms = verb_forms
       self.High_Score = 0
       self.s_file = scores_file
       self.S_chunk = chunk_size
       self.chunk_file = chunks_file

Исправлено (yay):

Я удалил функцию graphical_start из файла Get.py и вставил ее в файл gui.py.Теперь я импортирую файл Gui.py непосредственно из файла Asker.py.

...