[英]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.