我使用编辑器
在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仍然可以显示页面源代码,如你所见:
我不明白为什么。
我使用的是Python 3.6.3。
答案 0 :(得分:3)
您正在使用交互式python提示符。它会自动为您打印返回值,以便您可以查看您正在执行的操作的结果。
尝试输入3 + 2
。你知道这也不会打印任何东西 - 但你会看到结果。
同样,如果您将这两行放入文件中,您将无法获得任何输出。
答案 1 :(得分:1)
这是因为shell正在打印执行结果。如果将函数调用分配给变量,则会抑制打印。
即。 html = urllib.request.urlopen( ... )