【问题标题】:Importing a Function from another module从另一个模块导入函数
【发布时间】:2018-10-21 15:03:40
【问题描述】:

我想将名为 ret() 的函数从名为 mainprog 的模块导入另一个名为 windw 的模块。

所以我在windw 模块中这样做了:

from mainprog import ret

这应该可以正常工作吗?
但是mainprog 模块中有一个无限循环。
因此,即使没有调用我导入的函数,当我尝试运行 windw 模块时,它也会永远加载。

所以我猜它在我导入时会运行整个mainprog 模块?我需要帮助来避免这种情况。

【问题讨论】:

    标签: python import module python-import


    【解决方案1】:

    你做得很好,你需要做的就是让循环不执行,除非你自己运行代码你需要做的是添加一个

    if __name__ == '__main__':
        while True: 
    

    这将使您的程序像以前一样工作,但可以在您的代码中导入函数

    【讨论】:

      【解决方案2】:

      您必须确保文件mainprog.py 除了函数定义、常量和__main__ guard 之外没有任何内容。

      如果您还有其他类似的定义:

      do_something()
      def ret():
          ...
      

      请务必将其转换为:

      def ret():
          ...
      if __name == '__main__':
          do_something()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-15
        • 2020-05-18
        • 1970-01-01
        • 2018-04-23
        • 1970-01-01
        • 2014-04-30
        相关资源
        最近更新 更多