最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中pylint使用方法(pylint代碼檢查)

 更新時間:2018年04月06日 13:30:26   投稿:mdxy-dxy  
Pylint 提供了簡單的方式來分析 Python 代碼,其高可配置性很容易使一個部門的人員使用統(tǒng)一的代碼風(fēng)格。 本文將通過理論介紹和示例分析闡述如何 Pylint 來規(guī)范 Python 代碼

一、Pylint 是什么

Pylint 是一個 Python 代碼分析工具,它分析 Python 代碼中的錯誤,查找不符合代碼風(fēng)格標(biāo)準(zhǔn)和有潛在問題的代碼。
Pylint 是一個 Python 工具,除了平常代碼分析工具的作用之外,它提供了更多的功能:如檢查一行代碼的長度,變量名是否符合命名標(biāo)準(zhǔn),一個聲明過的接口是否被真正實(shí)現(xiàn)等等。
Pylint 的一個很大的好處是它的高可配置性,高可定制性,并且可以很容易寫小插件來添加功能。

如果運(yùn)行兩次 Pylint,它會同時顯示出當(dāng)前和上次的運(yùn)行結(jié)果,從而可以看出代碼質(zhì)量是否得到了改進(jìn)。 目前在 eclipse 的 pydev 插件中也集成了 Pylint。

二、Pylint 在 Linux 上的安裝

1. 在 Linux 上,首先安裝 Python 的包(高于版本 2.2),并在環(huán)境變量 $PATH 中添加 Python 可執(zhí)行文件的路徑。
2. 下載 Pylint、logilab-astng (version >= 0.14) 和 logilab-common (version >= 0.13) 的包 , 使用 tar zxvf *.tar.gz解壓縮這些包。
3. 依次進(jìn)入 logilab-astng、logilab-common 和 Pylint 解開的文件夾中,運(yùn)行命令 Python setup.py install來安裝。
4. 安裝完成后,就可以通過 pylint [options] module_or_package來調(diào)用 Pylint 了。

三、 Pylint 在 Windows 上的安裝

1. 安裝 Python 的包(高于版本 2.2),右鍵單擊桌面上的我的電腦圖標(biāo),選擇屬性,高級,環(huán)境變量,在 $PATH 中添加 Python 的安裝路徑,如 C:\Python26\。
2. 使用解壓縮工具解壓縮所有的包。
3. 打開命令行窗口,使用 cd依次進(jìn)入 logilab-astng、logilab-common 和 Pylint 解開的文件夾中,運(yùn)行命令 python setup.py install來安裝。
4. 安裝完成后,在 Python 的安裝路徑下出現(xiàn)一個 Scripts 文件夾,里面包含一些 bat 腳本,如 pylint.bat 等。
5. 為了使調(diào)用 pylint.bat 的時候不需要輸入完整路徑,在 Python 的安裝目錄下創(chuàng)建 pylint.bat 的重定向文件,這是一個純文本文件 pylint.bat,里面包含 pylint.bat 的實(shí)際路徑,如:C:\Python26\Scripts\pylint.bat。
6. 安裝完成后,可以通過 pylint [options] module_or_package來調(diào)用 Pylint 了。

四、 pylint使用

使用 Pylint 對一個模塊 module.py 進(jìn)行代碼檢查:

1. 進(jìn)入這個模塊所在的文件夾,運(yùn)行

pylint [options] module.py

這種調(diào)用方式是一直可以工作的,因?yàn)楫?dāng)前的工作目錄會被自動加入 Python 的路徑中。

2. 不進(jìn)入模塊所在的文件夾,運(yùn)行

pylint [options] directory/module.py

這種調(diào)用方式當(dāng)如下條件滿足的時候是可以工作的:directory 是個 Python 包 ( 比如包含一個 __init__.py 文件 ),或者 directory 被加入了 Python 的搜索路徑中。  

使用 Pylint 對一個包 pakage 進(jìn)行代碼檢查:

1. 進(jìn)入這個包所在文件夾,運(yùn)行

pylint [options] pakage

 這種調(diào)用方式是一直可以工作的,因?yàn)楫?dāng)前的工作目錄會被自動加入 Python 的路徑中。

2. 不進(jìn)入包所在的文件夾,運(yùn)行

pylint [options] directory/ pakage

 這種情況下當(dāng)如下條件滿足的時候是可以工作的:directory 被加入了 Python 的路徑中。比如在 Linux 上,export PYTHONPATH=$PYTHONPATH: directory。
此外,對于安裝了 tkinter 包的機(jī)器,可以使用命令 pylint-gui打開一個簡單的 GUI 界面,在這里輸入模塊或者包的名字 ( 規(guī)則同命令行 ), 點(diǎn)擊 Run,Pylint 的輸出會在 GUI 中顯示。

五、 Pylint常用命令行參數(shù)

-h,--help : 顯示所有幫助信息。
--generate-rcfile :可以使用 pylint --generate-rcfile 來生成一個配置文件示例。可以使用重定向把這個配置文件保存下來用做以后使用。也可以在前面加上其它選項(xiàng),使這些選項(xiàng)的值被包含在這個產(chǎn)生的配置文件里。 如:pylint -- persistent=n --generate-rcfile > pylint.conf, 查看 pylint.conf,可以看到 persistent=no,而不再是其默認(rèn)值 yes。
--rcfile=<file> :指定一個配置文件。把使用的配置放在配置文件中,這樣不僅規(guī)范了自己代碼,也可以方便地和別人共享這些規(guī)范。
-i <y_or_n>, --include-ids=<y_or_n> :在輸出中包含 message 的 id, 然后通過 pylint --help-msg=<msg-id>來 查看這個錯誤的詳細(xì)信息,這樣可以具體地定位錯誤。
-r <y_or_n>, --reports=<y_or_n> :默認(rèn)是 y, 表示 Pylint 的輸出中除了包含源代碼分析部分,也包含報告部分。
--files-output=<y_or_n> :將每個 module /package 的 message 輸出到一個以 pylint_module/package. [txt|html] 命名的文件中,如果有 report 的話,輸出到名為 pylint_global.[txt|html] 的文件中。默認(rèn)是輸出到屏 幕上不輸出到文件里。
-f <format>, --output-format=<format> :設(shè)置輸出格式。可以選擇的格式有 text, parseable, colorized, msvs (visual studio) 和 html, 默認(rèn)的輸出格式是 text。
--disable-msg= <msg ids> :禁止指定 id 的 message. 比如說輸出中包含了 W0402 這個 warning 的 message, 如果不希望它在輸出中出現(xiàn),可以使用 --disable-msg= W0402

六、Pylint的輸出

Pylint的默認(rèn)輸出格式是原始文本(raw text)格式 ,可以通過 -f <format>,--output-format=<format> 來指定別的輸出格式如html等等。 

在Pylint的輸出中有如下兩個部分:源代碼分析部分和報告部分。
源代碼分析部分:
  對于每一個 Python 模塊,Pylint 的結(jié)果中首先顯示一些"*"字符 , 后面緊跟模塊的名字,然后是一系列的 message, message 的格式如下: __MESSAGE_TYPE: LINE_NUM:[OBJECT:] MESSAGE__ MESSAGE_TYPE 有如下幾種:

(C) 慣例。違反了編碼風(fēng)格標(biāo)準(zhǔn)
(R) 重構(gòu)。寫得非常糟糕的代碼。
(W) 警告。某些 Python 特定的問題。
(E) 錯誤。很可能是代碼中的錯誤。
(F) 致命錯誤。阻止 Pylint 進(jìn)一步運(yùn)行的錯誤。
 

報告部分:

在源代碼分析結(jié)束后面,會有一系列的報告,每個報告關(guān)注于項(xiàng)目的某些方面,如每種類別的 message 的數(shù)目,模塊的依賴關(guān)系等等。
具體來說,報告中會包含如下的方面: 檢查的 module 的個數(shù)。 對于每個 module, 錯誤和警告在其中所占的百分比。
比如有兩個 module A 和 B, 如果一共檢查出來 4 個錯誤,1 個錯誤是在 A 中,3 個錯誤是在 B 中,那么 A 的錯誤的百分比是 25%, B 的錯誤的百分比是 75%。 錯誤,警告的總數(shù)量。

python中pylint使用方法

在Eclipse IDE 下, 打開 Window->Preferences... 對話框,從右側(cè)的樹形列表中選擇“ PyDev”->“Interpreter Python”, 點(diǎn)擊New按鈕,從Python的安裝路徑下選擇Python.exe,然后會彈出一個對話框讓你勾選System PYTHONPATH,我是都選了,應(yīng)該無所謂。最后點(diǎn)Ok,退出。

一、進(jìn)行Django項(xiàng)目的開發(fā)配置

1、建立PyDev Project

Eclipse IDE——>File——>New——>Other——>Pydev——>選擇Pydev Project——>起一個項(xiàng)目的名稱(例如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項(xiàng)目目錄拷貝到Eclipse剛剛建立的項(xiàng)目下的目錄里。返回剛才的Elicpse IDE——>在PyDev Package視圖中刷新剛新建的項(xiàng)目demo,即可看到Django項(xiàng)目工程。添加、刪除文件和目錄的操作都可以通過右鍵菜單來完成。

3、Django項(xiàng)目工程配置

(1)project 右鍵——>屬性——>選擇PyDev-PYTHONPATH——>add source folder(選擇項(xiàng)目文件路徑添加到項(xiàng)目代碼——>確定 。

(2)對Pydev項(xiàng)目進(jìn)行配置:

選擇Pydev的項(xiàng)目名稱——>Run as——>Open Run Dialog——>Python Run——>右鍵New——>在Main面板中寫入項(xiàng)目名稱,通過Browse載入項(xiàng)目名稱和Main Module,Main Module選擇manage.py——>在Augement面板中,arguments中輸入 runserver --noreload,下面的working directory加入你的base directory。

二、進(jìn)行Django項(xiàng)目的調(diào)試配置

跟開發(fā)配置差不多,但是添加了兩個環(huán)境變量,具體操作如下:
(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代碼,查找出其中的錯誤,并給出提示,并且還可以為你提出一些編碼風(fēng)格的提示的一個PYTHON模塊??傊?,它的作用是使得你的代碼更加的接近 PEP 008 (http://www.python.org/dev/peps/pep-0008/) Title:  Style Guide for Python Code 中所描述的代碼風(fēng)格,使你的代碼統(tǒng)一并更加可讀。

    2、下載并安裝pylint

         pylintlogilab-astnglogilab-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)并在最后編輯框中添加參數(shù),以限制pylint的輸出。

             --persistent=n --comment=n

    --disable-msg=C0103,C0301,W0312,W0511,W0232,E1101

 

         (3)Project->Properties->PyDev-PYTHONPATH增添項(xiàng)目的源文件目錄到"Project Source Folders"。
         (4)選中Project->Build Automatically,這樣保存修改時pylint就會自動check項(xiàng)目中的代碼,否則就要用Ctrl+B手動build并觸發(fā)pylint。

  參考文檔:

http://pydev.org/manual_adv_pylint.html

相關(guān)文章

  • python報錯No?pyvenv.cfg?file的問題解決

    python報錯No?pyvenv.cfg?file的問題解決

    本文主要介紹了python報錯No?pyvenv.cfg?file的問題解決,文中通過圖文示例介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-05-05
  • python opencv實(shí)現(xiàn)gif圖片分解的示例代碼

    python opencv實(shí)現(xiàn)gif圖片分解的示例代碼

    這篇文章主要介紹了python opencv實(shí)現(xiàn)gif圖片分解的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Python編程mac下使用pycharm小技巧

    Python編程mac下使用pycharm小技巧

    這篇文章主要介紹了Python編程中在mac下使用pycharm的一些小技巧,建議正在使用Pycharm的同學(xué)們可以收藏閱讀,可以節(jié)省你的編程時間
    2021-09-09
  • python 動態(tài)繪制愛心的示例

    python 動態(tài)繪制愛心的示例

    這篇文章主要介紹了python 動態(tài)繪制愛心的示例,幫助大家利用python繪制圖像,感興趣的朋友可以了解下
    2020-09-09
  • Pycharm遠(yuǎn)程連接服務(wù)器跑代碼的實(shí)現(xiàn)

    Pycharm遠(yuǎn)程連接服務(wù)器跑代碼的實(shí)現(xiàn)

    本文主要介紹了Pycharm遠(yuǎn)程連接服務(wù)器跑代碼的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • NumPy 矩陣乘法的實(shí)現(xiàn)示例

    NumPy 矩陣乘法的實(shí)現(xiàn)示例

    這篇文章主要介紹了NumPy 矩陣乘法的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • python常見問題之ModuleNotFoundError: No module named ‘rest_framework‘解決

    python常見問題之ModuleNotFoundError: No module nam

    這篇文章主要介紹了python常見問題之ModuleNotFoundError: No module named ‘rest_framework‘解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-07-07
  • 解決python繪圖使用subplots出現(xiàn)標(biāo)題重疊的問題

    解決python繪圖使用subplots出現(xiàn)標(biāo)題重疊的問題

    這篇文章主要介紹了python繪圖使用subplots出現(xiàn)標(biāo)題重疊的問題及解決方法,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • python 實(shí)現(xiàn)ping測試延遲的兩種方法

    python 實(shí)現(xiàn)ping測試延遲的兩種方法

    這篇文章主要介紹了python 實(shí)現(xiàn)ping測試延遲的兩種方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • 使用Python時要注意的十大陷阱匯總

    使用Python時要注意的十大陷阱匯總

    Python雖然沒有C/C++的指針和各種數(shù)據(jù)類型轉(zhuǎn)換,但不代表它沒有一片坦途,對于初學(xué)者,再感嘆Python的簡單和強(qiáng)大之時,可能一不小心就掉到陷阱中去了,所以本文給大家盤點(diǎn)了使用Python時要注意的十大陷阱,需要的朋友可以參考下
    2025-06-06

最新評論

册亨县| 左贡县| 巴楚县| 万荣县| 祁东县| 阿尔山市| 安新县| 剑河县| 大埔区| 蓬莱市| 万荣县| 岱山县| 林西县| 伊宁县| 宁海县| 吉水县| 扎兰屯市| 汉寿县| 河南省| 衡山县| 北流市| 徐闻县| 珲春市| 平阴县| 无棣县| 河北省| 亚东县| 利辛县| 军事| 奎屯市| 汝州市| 辽阳县| 贞丰县| 兴山县| 伊宁县| 霍山县| 华坪县| 宜宾县| 富蕴县| 新巴尔虎右旗| 岢岚县|