Задать вопрос
@AlessandrIT

Как решить ошибку missing аргумента 'self' модуля pythreading при вызове функции из класса?

Суть в чём.Есть класс, в нём описана работа с вк.
Одна из его фукнций - цикл while который ждёт поступления данных.
Код функции main содержит
look_for_msgs = threading.Thread(target=Vkontakte__.import_messages) #, args=(b.get('text'),user__id)


Так вот.Threading считает что не передан аргумент self.Который должен был поставляться классом для передачи инфы внутри себя.

Как это можно решить помимо "забить на ООП и запихать всё в кучу"?
  • Вопрос задан
  • 83 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@AlessandrIT Автор вопроса
Нашёл приемлимое решение.Вместо класса написал его оболочку внутри другого файла.

Ну например.Было:
вот так
class test:
      def init(self):
          self.x = 5
      def print_(self):
          print(self.x)



Если ниже по коду вы будете это откидывать в threading то словите ошибку по поводу которой я и обратился сюда.

Решение:
test.py
w = 1
def init():
	print(w)

test2.py
import test
import threading
w = 2
there_is_no_spoon = threading.Thread(target=test.init)
there_is_no_spoon .start()



Насчёт переменной w.Во втором тестовом файле она перезаписывается для проверки, будет ли изменена переменная файла test.py .Отвечаю - не меняется, переменную из импортированного файла ничего не угнетёт и не изменит

Не повторяйте моих ошибок...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы