python导入模块不会返回提示符

时间:2017-02-28 01:11:02

标签: python python-3.x

我编写了一个模块,当从命令行执行或作为模块导入时,其行为有所不同,例如:

if __name__ == "__main__":
    print("Aloha Main")
else:
    print("Aloha Module")

虽然,当我在python3交互式会话中导入此模块时,我没有得到提示返回,我必须按一个额外的“回车”才能得到提示。调用此模块中的函数时也是如此。当我在“else:”之后注释掉“print”语句时,问题就消失了。即使“打印”到位,是否有可能获得提示?

更新:这是一个演示此行为的test.py

if __name__ == "__main__":
    print("Aloha Main")
else:
    print("Aloha Module") 

我得到了:

% python3
Python 3.6.0 (default, Dec 23 2016, 12:51:31) 
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import test
>>> Aloha Module

>>> 

在“Aloha模块”之后,我必须按Enter键才能返回提示符。这是在OSX上运行Python 3.6。在同一系统上的Python 2.7没有问题。

更新2:这是OSX 10.11.6中的一个问题,我在我的Linux机箱上测试了这个问题,我确实在python 3.6下得到了提示。我使用OSX内置终端。

0 个答案:

没有答案