2013-08-03 92 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中看到「打印」字符串的原因。但是,實際運行代碼時,不會輸出返回值。