Как вызвать функцию из другого файла .py в python? - PullRequest
0 голосов
/ 07 февраля 2020

Я пытаюсь вызвать функцию 'myfunction ()', определенную в другом py-файле 'file2.py' в том же каталоге, используя приведенный ниже код

from file2 import *

myfunction()

К сожалению, моя функция выполняется дважды. Оператор import также выполняет функцию. Любые идеи о том, как этого избежать?

Ответы [ 3 ]

5 голосов
/ 07 февраля 2020

Возможно, вы вызываете внутри вашей file2.py вашей функции myfunction()

, когда вы делаете

from file2 import *

, вы загружаете все определения (class, def, et c) и, конечно, каждая функция, вызываемая внутри этого .py.

Чтобы избежать этой проблемы, вы можете вызвать вашу функцию myfunction () в вашем file2.py внутри этой области:

if __name__ == '__main__':
    myfunction()

in таким образом, он не будет выполнен при импорте, но только если файл2.py будет выполнен напрямую:

python3 file2.py
0 голосов
/ 07 февраля 2020
#File name = file2
class file3:
   def method():
      print ("printing statement")
      return "Hello world"

Имя основного файла file1.py

from file2 import *
print(file3.method())

Вы можете определить функцию и написать инструкцию возврата, чтобы избежать дополнительной печати

0 голосов
/ 07 февраля 2020

Проверьте ваш file2 и поищите что-нибудь с myfunction() в нем. Если есть что-то подобное, просто удалите его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...