簡體   English   中英

如何從python中的另一個.py文件調用函數?

[英]How to call function from another .py file in python?

我正在嘗試使用以下代碼調用在同一目錄中的另一個 py 文件“file2.py”中定義的函數“myfunction()”

from file2 import *

myfunction()

不幸的是,它執行了我的函數兩次。 import 語句也在執行該函數。 關於如何避免這種情況的任何見解?

可能你在file2.py里面調用你的函數myfunction()

當你做

from file2 import *

您正在加載每個定義(類、def 等),當然還有在 .py 中調用的每個函數。

為避免此問題,您可以在此范圍內的 file2.py 中調用函數 myfunction() :

if __name__ == '__main__':
    myfunction()

這樣導入時就不會執行了,只有直接執行file2.py才執行:

python3 file2.py
#File name = file2
class file3:
   def method():
      print ("printing statement")
      return "Hello world"

主文件名file1.py

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

您可以定義函數並編寫返回語句以避免額外打印

檢查您的file2並查找其中包含myfunction()任何內容。 如果有類似的東西,只需將其刪除。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM