2016-05-29 20 views
2

當我如一個語法錯誤,我得到的文本塊:stdin在Python錯誤中意味着什麼?

File "<stdin>", line 1, in ? 
    while True print('Hello world') 
     while True print('Hello world') 
        ^
SyntaxError: invalid syntax 

我做了一些研究,我發現有三個標準流...

「三個I/O連接稱爲標準輸入(標準輸入),標準輸出(標準輸出)和標準錯誤(標準錯誤)。「

那麼爲什麼不是這個標準錯誤呢?

+0

簡而言之:錯誤消息不會告訴您錯誤消息發送的位置,它會告訴您發生錯誤的位置。 – TigerhawkT3

回答

1

您的while需要冒號(:)。您在stdin上遇到錯誤,因爲您正在命令行中鍵入腳本,而python(您輸入文本的python命令)正在從它的stdin流(即終端)讀取它。你在Python的stdin中輸入了一個錯誤,它告訴你。

while True: 
    print('Hello world') 
4

因爲代碼的來源是標準輸入,例如它是在控制檯上輸入的。