簡體   English   中英

Python字符串解析錯誤

[英]Python string parse error

這是我的測試代碼test.py

str = input("IP: ")                                               
print(str) 

運行時出現此錯誤:

➜  PingScript git:(master) ✗ python test.py                      
IP: 1.1.1.1 


Traceback (most recent call last):                      
  File "test.py", line 1, in <module>                            
    str = input("IP: ")                                          
  File "<string>", line 1                                         
    1.1.1.1                                                      
        ^                                                 
SyntaxError: invalid syntax 

僅當我使用1.1.1.1作為輸入而不是使用1.1作為輸入時才會發生這種情況,這里發生了什么? 我試圖用str(str)解析它,但我仍然遇到同樣的錯誤。

input()嘗試將輸入解析為 python 表達式。 使用raw_input()代替。

它使用1.1作為輸入,因為它是一個文字浮點值,一個數字,在 python 中。

可能是您正在學習針對 Python 3 的教程,但正在使用 Python 2。 在 Python 3 中, raw_input()函數被重命名為input()並且舊的input()函數被完全刪除。 如果是這樣,請安裝 Python 3 並從那里繼續。

input()評估您輸入的內容,就好像它是有效的 Python 代碼一樣。 raw_input() ,接受輸入並將其作為字符串返回。 由於1.1.1.1不是有效的 Python 代碼,因此您會收到錯誤消息。 1.1是 Python 中的浮點數,這就是它似乎有效的原因:

>>> input('Enter: ')
Enter: 1+1
2
>>> raw_input('Enter: ')
Enter: 1+1
'1+1'
>>> input('Enter: ')
Enter: 1.1
1.1000000000000001

str() 是 Python 語言中的內置函數,可將其他數據類型轉換為字符串。 所以str必須是關鍵字,不能作為變量名。 請使用任何其他變量名而不是“str”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM