Pylint 提供了簡單的方式來分析 Python 程式碼,其高可配置性很容易使一個部門的人員使用統一的程式碼風格。 本文將透過理論介紹和範例分析闡述如何Pylint 來規範Python 程式碼
一、Pylint 是什麼
Pylint 是一個Python 程式碼分析工具,它分析Python 程式碼中的錯誤,尋找不符合程式碼風格標準和有潛在問題的程式碼。
Pylint 是一個Python 工具,除了平常程式碼分析工具的作用之外,它提供了更多的功能:如檢查一行程式碼的長度,變數名稱是否符合命名標準,一個聲明過的介面是否被真正實現等等。
Pylint 的一個很大的好處是它的高可配置性,高可自訂性,並且可以輕鬆編寫小插件來添加功能。
如果執行兩次 Pylint,它會同時顯示出當前和上次的運行結果,從而可以看出程式碼品質是否得到了改進。 目前在 eclipse 的 pydev 外掛程式中也整合了 Pylint。
二、Pylint 在Linux 上的安裝
#1. 在Linux 上,先安裝Python 的套件(高於版本2.2),並在環境變數$PATH中加入Python 可執行檔的路徑。
2. 下載 Pylint、logilab-astng (version >= 0.14) 和 logilab-common (version >= 0.13) 的套件 , 使用 tar zxvf *.tar.gz解壓縮這些套件。
3. 依序進入 logilab-astng、logilab-common 和 Pylint 解開的資料夾中,執行指令 Python setup.py install來安裝。
4. 安裝完成後,就可以透過 pylint [options] module_or_package來呼叫 Pylint 了。
三、 Pylint 在Windows 上的安裝
1. 安裝Python 的套件(高於版本2.2),右鍵點擊桌面上的我的電腦圖標,選擇屬性,高級,環境變量,在$PATH 中加入Python 的安裝路徑,如C:\Python26\。
2. 使用解壓縮工具解壓縮所有的套件。
3. 打開命令列窗口,使用 cd依序進入 logilab-astng、logilab-common 和 Pylint 解開的資料夾中,執行命令 python setup.py install來安裝。
4. 安裝完成後,在 Python 的安裝路徑下出現一個 Scripts 資料夾,裡麵包含一些 bat 腳本,如 pylint.bat 等。
5. 為了使調用pylint.bat 的時候不需要輸入完整路徑,在Python 的安裝目錄下創建pylint.bat 的重定向文件,這是一個純文本文件pylint.bat,裡麵包含pylint.bat 的實際路徑,如:C:\Python26\Scripts\pylint.bat。
6. 安裝完成後,可以透過 pylint [options] module_or_package來呼叫 Pylint 了。
四、 pylint使用
使用Pylint 對一個模組module.py 進行程式碼檢查:
1. 進入這個模組所在的資料夾,運行
pylint [options] module.py
這種呼叫方式是一直可以運作的,因為目前的工作目錄會自動加入Python 的路徑。
2. 不進入模組所在的資料夾,執行
pylint [options] directory/module.py
pylint [options] pakage
pylint [options] directory/ pakage
此外,對於安裝了tkinter 套件的機器,可以使用命令pylint-gui打開一個簡單的GUI 介面,在這裡輸入模組或者包的名字( 規則同命令行), 點擊Run,Pylint 的輸出會在GUI中顯示。
五、 Pylint常用命令列參數#
-h,--help : 顯示所有幫助資訊。
--generate-rcfile :可以使用 pylint --generate-rcfile 來產生一個設定檔範例。可以使用重定向把這個設定檔保存下來用做以後使用。也可以在前面加上其它選項,使這些選項的值被包含在這個產生的設定檔裡。 如:pylint -- persistent=n --generate-rcfile > pylint.conf, 查看 pylint.conf,可以看到 persistent=no,而不再是其預設值 yes。
--rcfile=:指定一個設定檔。把使用的配置放在設定檔中,這樣不僅規範了自己程式碼,也可以方便地和別人分享這些規範。
-i, --include-ids= :在輸出中包含message 的id, 然後透過pylint --help-msg= 來查看這個錯誤的詳細訊息,這樣可以具體地定位錯誤。
-r, --reports= :預設是 y, 表示 Pylint 的輸出除了包含原始碼分析部分,也包含報表部分。
--files-output=:將每個module /package 的message 輸出到一個以pylint_module/package. [txt|html] 命名的檔案中,如果有report 的話,輸出到名為pylint_global .[txt|html] 的檔案中。預設是輸出到螢幕 螢幕上不輸出到檔案裡。
-f, --output-format= :設定輸出格式。可以選擇的格式有 text, parseable, colorized, msvs (visual studio) 和 html, 預設的輸出格式是 text。
--disable-msg=:禁止指定id 的message. 例如說輸出包含了W0402 這個warning 的message, 如果不希望它在輸出中出現,可以使用--disable-msg= W0402
六、Pylint的輸出
Pylint的預設輸出格式是原始文字(raw text)格式,可以透過-f
在Pylint的輸出中有以下兩個部分:原始碼分析部分和報告部分。
原始碼分析部分:
對於每一個Python 模組,Pylint 的結果中首先顯示一些"*"字符, 後面緊跟模組的名字,然後是一系列的message, message 的格式如下: __MESSAGE_TYPE: LINE_NUM:[OBJECT:] MESSAGE__ MESSAGE_TYPE 有下列幾種:
(C) 慣例。違反了編碼風格標準
(R) 重構。寫得非常糟糕的程式碼。
(W) 警告。某些 Python 特定的問題。
(E) 錯誤。很可能是程式碼中的錯誤。
(F) 致命錯誤。阻止 Pylint 進一步運行的錯誤。
報告部分:
在原始碼分析結束後面,會有一系列的報告,每個報告專注於專案的某些方面,如每種類別的message 的數目,模組的依賴關係等等。
具體來說,報告中會包含如下的面向: 檢查的 module 的個數。 對於每個 module, 錯誤和警告在其中所佔的百分比。
例如有兩個module A 和B, 如果總共檢查出來4 個錯誤,1 個錯誤是在A 中,3 個錯誤是在B 中,那麼A 的錯誤的百分比是25%, B 的錯誤的百分比是75%。 錯誤,警告的總數量。
python中pylint使用方法
在Eclipse IDE 下, 開啟Window->Preferences... 對話框,從右側的樹形清單中選擇“ PyDev”->“Interpreter Python”, 點擊New按鈕,從Python的安裝路徑下選擇Python.exe,然後會彈出一個對話框讓你勾選System PYTHONPATH,我是都選了,應該無所謂。最後點Ok,退出。
一、進行Django專案的開發設定
1、建立PyDev Project
Eclipse IDE——>File——>New— —>Other——>Pydev——>選擇Pydev Project——>起一個項目的名稱(例如demo)——>選擇路徑,如E:/work——>選擇適合你的Python版本(我的是2.5)->將下面的勾去掉,不要建立src檔->Finish。
2、建立Django Project
(1)django-admin.py startproject demo。 (貌似不能在指令列直接用django-admin.py,而必須使用C:/Python26/Scripts/django-admin.py,後來才知道要把C:/Python26/Scripts加入Path.)
(2)把產生的Django專案目錄拷貝到Eclipse剛剛建立的專案下的目錄裡。傳回剛才的Elicpse IDE->在PyDev Package檢視中刷新剛新建的專案demo,即可看到Django專案工程。新增、刪除檔案和目錄的操作都可以透過右鍵選單來完成。
3、Django專案工程配置
(1)project 右鍵—>屬性—>選擇PyDev-PYTHONPATH—>add source folder(選擇專案檔案路徑加入到專案程式碼->確定。
選擇Pydev的專案名稱->Run as->Open Run Dialog->Python Run->右鍵New->在Main面板中寫入專案名稱,透過Browse載入專案名稱和Main Module,Main Module選擇manage.py——>在Augement面板,arguments中輸入runserver --noreload,下面的working directory加入你的base directory。
二、進行Django專案的調試配置
跟開發配置差不多,但是添加了兩個環境變量,具體操作如下:
(1)project右鍵——>Debug as ——>open Debug dialog。
(2)main視窗中選擇manage.py所在的project,Main Module選擇manage.py所在檔案位置。
(3)arguments輸入 runserver --noreload。
(4)Environment中加入DJANGO_SETTINGS_MODULE=settings ,PYTHONPATH=$PWD。
三、設定pylint
1、pylint簡介
pylint主要用來分析你的PY程式碼,找出其中的錯誤,並給予給出提示,並且還可以為你提出一些編碼風格的提示的一個PYTHON模組。總之,它的作用是使得你的程式碼更加的接近PEP 008 (http://www.python.org/dev/peps/pep-0008/) Title: Style Guide for Python Code 中所描述的程式碼風格,使你的程式碼統一並更加可讀。
2、下載並安裝pylint
pylint, logilab-astng, logilab-common ,安裝方式跟著安裝django的方式都是一樣的。也就是直接使用
python setup.py install 即可。
3、設定使用pylint
(1)Window -> preferences -> Pydev -> Pylint,選取"Use pylint?",再輸入lint.py的地址,例如"C: /Python25/Lib/site-packages/pylint/lint.py"
(2)並在最後編輯框中加入參數,以限制pylint的輸出。
--persistent=n --comment=n
--disable-msg=C0103,C0301, --disable-msg=C0103,C0301, --disable-msg=C0103,C0301,,W0312,W0511,#1232,o# # (3)Project->Properties->PyDev-PYTHONPATH增加專案的來源檔案目錄到"Project Source Folders"。
(4)選取Project->Build Automatically,這樣儲存修改時pylint就會自動check專案中的程式碼,否則就要用Ctrl+B手動build並觸發pylint。 參考文件:http://pydev.org/manual_adv_pylint.html
相關推薦:
如何使用Pylint 來規範Python 程式碼風格(來自IBM)_pythonpython程式碼檢查工具pylint 讓你的python更規範
#以上是python中pylint使用方法(pylint程式碼檢查)_python的詳細內容。更多資訊請關注PHP中文網其他相關文章!