即使没有" print"命令

时间:2017-11-21 01:50:00

标签: python python-3.x

我使用编辑器

在Python IDLE中编写了以下代码
import urllib.request
print(urllib.request.urlopen('https://github.com').read().decode('utf-8'))

然后将代码保存为脚本。运行脚本后,Python shell显示了我想要的页面源代码。

当我将上述代码更改为:

import urllib.request
urllib.request.urlopen('https://github.com').read().decode('utf-8')

然后运行脚本,Python shell没有显示任何内容。这是可以理解的。

然而,对我来说奇怪的是,如果我在Python shell中运行上面的代码(没有print交互式的代码,Python shell仍然可以显示页面源代码,如你所见:

enter image description here

我不明白为什么。

我使用的是Python 3.6.3。

2 个答案:

答案 0 :(得分:3)

您正在使用交互式python提示符。它会自动为您打印返回值,以便您可以查看您正在执行的操作的结果。

尝试输入3 + 2。你知道这也不会打印任何东西 - 但你会看到结果。

同样,如果您将这两行放入文件中,您将无法获得任何输出。

答案 1 :(得分:1)

这是因为shell正在打印执行结果。如果将函数调用分配给变量,则会抑制打印。

即。 html = urllib.request.urlopen( ... )