1、syntaxerror: invalid syntax
這個翻譯一下就是語法錯誤。
經過查詢解決了這個問題,所以總結乙個這個問題的解決方法:
版本問題:
因為python2和python3是不相容的,所以一些可以在python2上執行的**不一定可以在python3上執行;可以嘗試更換版本;
路徑問題:
記得仔細檢視自己的路徑是否正確;
粗心問題:
忘記在 if , elif , else , for , while , class ,def 宣告末尾新增 冒號( : );
誤將 = 當成 == 使用;
安裝第三方模組時:
在安裝第三方模組時也有可能出現「syntaxerror: invalid syntax」這個問題,這時需要檢查一些是否是在cmd視窗下安裝,同時,要到python的安裝目錄裡面,找到pip所在的目錄裡面進行安裝;
2、indentationerror: expected an indented block
把這段英文報錯翻譯過來就是: 縮排錯誤: 期望乙個縮排的塊
所謂縮排,就是每一行開頭的空白。這個空白可以由多個空格或者製表符組成。python下面你怎麼縮排都可以,比如3個空格,2個tab,這樣都是合法的。但是同乙個邏輯塊下面必須用一樣的。
python的是用縮進來識別語法邏輯塊的(i.e. if, while, for, def 等)。同乙個if邏輯塊下面的語句必須要有相同的縮排,否則python解析器怎麼知道if塊控制哪些語句?對吧,在python中,所有的邏輯**塊也就是乙個方法中的**,都必須使用相同的縮進來標識區分是同乙個方法,否則編譯會報錯。
3、taberror: inconsistent use of tabs and spaces in indentation
這個錯誤在sublime3遇到的都是看似空格實則沒有空格引起的:
解決方法:就是開啟sublime的空格製表顯示就可以清楚的顯示出自己是否真的空格了。
找到錯誤處理起來就簡單了,把該空的真實空好了就解決錯誤了----
4、 indentationerror: unexpected indent
【問題】
乙個python指令碼,本來都執行好好的,然後寫了幾行**,而且也都確保每行都對齊了,但是執行的時候,卻出現語法錯誤:
indentationerror: unexpected indent
【解決過程】
1.對於此錯誤,最常見的原因是,的確沒有對齊。但是我根據錯誤提示的行數,去**中看了下,沒啥問題啊。
都是用tab鍵,對齊好了的,沒有不對齊的行數啊。
2.以為是前面的注釋的內容影響後面的語句的語法了,所以把前面的注釋也刪除了。
結果還是此語法錯誤。
3.後來折騰了半天,突然想到了,把當前python指令碼的所有字元都顯示出來看看有沒有啥特殊的字元。
當前用的文字編輯器notepad++,好像有個設定,可以顯示所有的字元的。
python2 版本 與 3 版本中的區別
目錄unicode編碼 print函式print hello world 2.x版本中格式 print hello world 3.x版本中格式 2.6版本已可以支援新的print 語法 from future import print function print fish panda sep r...
python2版本程式轉python3版本
碰見有些python程式是2.7版本的,發現程式中print 函式和xrange 函式需要改變,不想乙個乙個的改,所以寫了乙個程式來更改。import os file1 r 需要更改的程式的路徑 file2 asd.txt with open file1,r encoding utf 8 as f ...
切換Python2版本到Python3版本
實測系統 ubuntu16.4 debain9.0 1.ubuntu 16.04系統自帶python2.7和python3.5,而預設採用的是2.7版本,可採用如下命令檢視單當前版本號 python v2.python2.7和3.5都是預設安裝在 usr local lib python2.7 3....