2013-08-03 69 views
1

我正在使用Windows版本的Python 2.7与IDLE。如果我通过IDLE运行下面的代码通过IDLE运行的Python脚本没有输出

import os 
os.getcwd() 

(运行模块F5),我得在Python外壳没有输出。 但是,如果我在资源管理器中双击test.py,则会显示当前的工作目录。

如果我在IDLE中执行print命令,它会显示出来。

为什么os.getcwd()在IDLE中没有任何输出,而print呢?

+0

'os.getcwd()'返回一个字符串,打印该字符串使用'print'。 –

+0

嗯,我注意到你可以使用打印。但是为什么在python shell中,返回的字符串显示时没有使用print,在IDLE中它不显示? – Chris

+0

这是因为python shell会回应表达式的返回值('repr'版本)。 –

回答

4

当你调用一个函数时,该函数可能会返回一个值,在这种情况下,os.getcwd()返回一个字符串。在这里,你永远不会任何东西到那个字符串,所以没有任何反应 - 没有输出,因为你从来没有print字符串。

例如,

print os.getcwd() 

会输出你所期望的。

通过阅读上面的注释,大多数Python解释器将在代码解释后打印出代码的返回值表示。这就是为什么你在Python shell中看到“打印”字符串的原因。但是,实际运行代码时,不会输出返回值。