搜尋
首頁後端開發Python教學python中pylint使用方法(pylint程式碼檢查)_python

python中pylint使用方法(pylint程式碼檢查)_python

Apr 08, 2018 am 11:15 AM
pylintpython使用方法

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

##這種呼叫方式當如下條件滿足的時候是可以工作的:directory 是個Python 套件( 例如包含一個__init__.py 檔案),或是directory 被加入了Python 的搜尋路徑中。

使用Pylint 對一個套件pakage 進行程式碼檢查:

1. 進入這個套件所在資料夾,執行

pylint [options] pakage

 這種呼叫方式是一直可以運作的,因為目前的工作目錄會被自動加入Python 的路徑。

2. 不進入套件所在的資料夾,執行

pylint [options] directory/ pakage

 這種情況下當下條件滿足的時候是可以工作的:directory 被加入了Python 的路徑。例如在 Linux 上,export PYTHONPATH=$PYTHONPATH: directory。

此外,對於安裝了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 , --output-format= 來指定別的輸出格式如html等等。 

在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)_python

python程式碼檢查工具pylint 讓你的python更規範

#

以上是python中pylint使用方法(pylint程式碼檢查)_python的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
學習Python:2小時的每日學習是否足夠?學習Python:2小時的每日學習是否足夠?Apr 18, 2025 am 12:22 AM

每天學習Python兩個小時是否足夠?這取決於你的目標和學習方法。 1)制定清晰的學習計劃,2)選擇合適的學習資源和方法,3)動手實踐和復習鞏固,可以在這段時間內逐步掌握Python的基本知識和高級功能。

Web開發的Python:關鍵應用程序Web開發的Python:關鍵應用程序Apr 18, 2025 am 12:20 AM

Python在Web開發中的關鍵應用包括使用Django和Flask框架、API開發、數據分析與可視化、機器學習與AI、以及性能優化。 1.Django和Flask框架:Django適合快速開發複雜應用,Flask適用於小型或高度自定義項目。 2.API開發:使用Flask或DjangoRESTFramework構建RESTfulAPI。 3.數據分析與可視化:利用Python處理數據並通過Web界面展示。 4.機器學習與AI:Python用於構建智能Web應用。 5.性能優化:通過異步編程、緩存和代碼優

Python vs.C:探索性能和效率Python vs.C:探索性能和效率Apr 18, 2025 am 12:20 AM

Python在開發效率上優於C ,但C 在執行性能上更高。 1.Python的簡潔語法和豐富庫提高開發效率。 2.C 的編譯型特性和硬件控制提升執行性能。選擇時需根據項目需求權衡開發速度與執行效率。

python在行動中:現實世界中的例子python在行動中:現實世界中的例子Apr 18, 2025 am 12:18 AM

Python在現實世界中的應用包括數據分析、Web開發、人工智能和自動化。 1)在數據分析中,Python使用Pandas和Matplotlib處理和可視化數據。 2)Web開發中,Django和Flask框架簡化了Web應用的創建。 3)人工智能領域,TensorFlow和PyTorch用於構建和訓練模型。 4)自動化方面,Python腳本可用於復製文件等任務。

Python的主要用途:綜合概述Python的主要用途:綜合概述Apr 18, 2025 am 12:18 AM

Python在數據科學、Web開發和自動化腳本領域廣泛應用。 1)在數據科學中,Python通過NumPy、Pandas等庫簡化數據處理和分析。 2)在Web開發中,Django和Flask框架使開發者能快速構建應用。 3)在自動化腳本中,Python的簡潔性和標準庫使其成為理想選擇。

Python的主要目的:靈活性和易用性Python的主要目的:靈活性和易用性Apr 17, 2025 am 12:14 AM

Python的靈活性體現在多範式支持和動態類型系統,易用性則源於語法簡潔和豐富的標準庫。 1.靈活性:支持面向對象、函數式和過程式編程,動態類型系統提高開發效率。 2.易用性:語法接近自然語言,標準庫涵蓋廣泛功能,簡化開發過程。

Python:多功能編程的力量Python:多功能編程的力量Apr 17, 2025 am 12:09 AM

Python因其簡潔與強大而備受青睞,適用於從初學者到高級開發者的各種需求。其多功能性體現在:1)易學易用,語法簡單;2)豐富的庫和框架,如NumPy、Pandas等;3)跨平台支持,可在多種操作系統上運行;4)適合腳本和自動化任務,提升工作效率。

每天2小時學習Python:實用指南每天2小時學習Python:實用指南Apr 17, 2025 am 12:05 AM

可以,在每天花費兩個小時的時間內學會Python。 1.制定合理的學習計劃,2.選擇合適的學習資源,3.通過實踐鞏固所學知識,這些步驟能幫助你在短時間內掌握Python。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具