hoojpop
@hoojpop

Как достать значение переменной из другой фукнции?

Привет. Подскажите пожалуйста, как мне достать значение переменной из другой функции и вызвать её в другой функции?

Первая функция:

def getDirectory(self, MainWindow):  
        folderPath = QtWidgets.QFileDialog.getExistingDirectory(None,"Выбрать папку",".")
        return folderPath


Вторая функция:

Хочу получить значение folderPath.

def next(self, MainWindow):
        folderGame = getDirectory()
        if not os.path.exists('{}/ValheimByLauncher/settings.ini'.format(folderGame)):


Но выдаёт ошибку: NameError: name 'getDirectory' is not defined
Весь код(если нужно)
  • Вопрос задан
  • 93 просмотра
Решения вопроса 2
@Redeve
Веб-макаке не хватит и 640гБ
Выложили код кусками и всех запутали. Но по аргументам видно что это методы класса
Ошибка в том что вы забыли добавить объект инстанса класса self в вызове getDirectory
Что это такое объяснено тут Что такое self в Python?

>>> class A:
...   def __init__(self):
...     testf(1)
...   def testf(self, x):
...     print(x)
...
>>> A()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 3, in __init__
NameError: name 'testf' is not defined
>>> class A:
...   def __init__(self):
...     self.testf(1)
...   def testf(self, x):
...     print(x)
...
>>> A()
1


Ну и конечно неплохо было бы ознакомиться с пеп8
Ответ написан
@o5a
Судя по коду getDirectory() это метод класса, т.е. и вызывать его надо соответствующе
folderGame = self.getDirectory()
MainWindow только не понятно зачем прописан в параметрах
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
yupiter7575
@yupiter7575
Python программист
Проблема в том что ты создаешь функцию next внутри функции getDir котораю и вызывает функция next
Ответ написан
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Мало того, что функция next внутри метода getDir,
там вообще с отступами печаль.

Если вы впервые встретились с Python, ознакомьтесь с PEP8
Без этого писать код на Python невозможно.

В общем, рекомендации в порядке важности:
  1. Изучить PEP8;
  2. Поправить отступы в соответствии с рекомендациями PEP8;
  3. Вынести next в отдельный метод в ходе исправления отступов.
Ответ написан
Ваш ответ на вопрос

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

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