色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Vulture 可在Python程序中查找未使用的代碼

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-10-21 10:28 ? 次閱讀

Vulture 可以在Python程序中查找未使用的代碼。這對于清理和查找大型項目(代碼庫)中的錯誤非常有用。

不過由于Python的動態特性,像 Vulture 這樣的靜態代碼分析器很可能會遺漏一些無效代碼,此外,可能會將僅被隱式調用的代碼標記為未使用。

盡管如此,Vulture對于提升代碼質量來說可能是一個非常有用的工具。

1.功能

  • 速度快: 靜態代碼分析
  • 靠譜: 已測試
  • 兼容強: 與pyflies相輔相成,具有相同的輸出語法
  • 可排序: 可以按大小對未使用的類和函數進行排序 --sort-by-size
  • 支持Python>=3.6

2.準備

開始之前,你要確保Python和pip已經成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細Python安裝指南 進行安裝。

**(可選1) **如果你用Python的目的是數據分析,可以直接安裝Anaconda:Python數據分析與挖掘好幫手—Anaconda,它內置了Python和pip.

**(可選2) **此外,推薦大家用VSCode編輯器,它有許多的優點:Python 編程的最好搭檔—VSCode 詳細指南

請選擇以下任一種方式輸入命令安裝依賴

  1. Windows 環境 打開 Cmd (開始-運行-CMD)。
  2. MacOS 環境 打開 Terminal (command+空格輸入Terminal)。
  3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install vulture

3.用法

你可以直接使用命令行工具運行 vulture:

vulture myscript.py # 或者
python3 -m vulture myscript.py # 或者
vulture myscript.py mypackage/ # 或者
vulture myscript.py --min-confidence 100 # 只報告100%可能的無效代碼

如果 vulture 沒有被加進環境變量(如Windows系統下不會自動加到環境變量中),建議使用 python -m 的方式調用 vulture。

可見,命令的參數可以是 Python 文件或目錄。對于每個目錄,Vulture 會分析所有包含的 *.py文件。

Vulture 為每個無效代碼塊分配一個置信度值。100% 的置信度值意味著百分百的無效代碼。

找到并刪除無效代碼后,再次運行 Vulture,因為它可能會發現更多的無效代碼。

下面舉個例子,參考下述代碼:

import os

class Greeter:
    def greet(self):
        print("Hi")

def hello_world():
    message = "Hello, world!"
    greeter = Greeter()
    greet_func = getattr(greeter, "greet")
    greet_func()

if __name__ == "__main__":
    hello_world()

調用vulture:

vulture dead_code.py
# 或者
python -m vulture dead_code.py

輸出效果如下:

dead_code.py:1: unused import 'os' (90% confidence)
dead_code.py:4: unused function 'greet' (60% confidence)
dead_code.py:8: unused variable 'message' (60% confidence)

Vulture 正確地將“os”和“message”報告為未使用,但未能檢測到實際使用了“greet”。處理此類誤報的推薦方法是創建一個白名單 Python 文件。見下面第四點。

4.處理誤報

當 Vulture 錯誤地將代碼塊報告為未使用時,有多種選擇來抑制誤報。如果修復誤報也可以使其他用戶受益,請提交問題報告。

白名單

推薦的選項是將報告為"未使用的"已使用代碼添加到 Python 模塊,并將其添加到掃描路徑列表中。要自動獲取這樣的白名單,請傳遞 ** --make-whitelist ** 給 Vulture:

vulture mydir --make-whitelist > whitelist.py
vulture mydir whitelist.py

請注意,生成的 ** whitelist.py ** 文件將包含有效的 Python 語法,但為了讓 Python 能夠運行它,通常需要進行一些修改。

忽略文件

如果要忽略整個文件或目錄,請使用** --exclude ** 參數如 ** --exclude *settings.py,docs/ ** 。

Flake8 noqa 注釋

為了與flake8兼容,Vulture 支持 F401 和 F841錯誤代碼以忽略未使用的導入 ( **# noqa: F401 ** ) 和未使用的局部變量 ( **# noqa: F841 ** )。

但是,我們建議使用白名單而不是** noqa注釋,因為noqa **注釋會給代碼增加視覺干擾并使其更難閱讀。

忽略名稱

你還可以使用 ** --ignore-names foo*,ba[rz] ** 讓 Vulture 忽略所有以 ** foo** 開頭的及 ** bar ** 和 ** baz ** 的名稱。

此外,--ignore-decorators 選項可用于忽略用給定裝飾器裝飾的函數。這在 Flask 項目中很有幫助,可以在其中使用裝飾器** --ignore-decorators "@app.route" ** 忽略所有 ** @app.route ** 函數。

我們建議使用白名單代替 ** --ignore-names ** 或 ** --ignore-decorators ** ,因為白名單在傳遞給 Vulture 時會自動檢查語法正確性。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 程序
    +關注

    關注

    117

    文章

    3795

    瀏覽量

    81293
  • 分析器
    +關注

    關注

    0

    文章

    93

    瀏覽量

    12532
  • 代碼
    +關注

    關注

    30

    文章

    4823

    瀏覽量

    68895
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    84946
收藏 人收藏

    評論

    相關推薦

    isis 7 professional_元件查找代碼

    isis 7 professional元件查找代碼有各總isis 7 professional元件的查找代碼
    發表于 12-08 15:58 ?7次下載

    Python對字符串進行搜索和查找詳細介紹

    個系列的第一篇文章,我們將重點討論如何使用Python的正則表達式并突出Python中一些獨有的特性。 我們將介紹Python
    發表于 11-15 11:20 ?8090次閱讀

    python程序調試設置條件斷點

    本文主要介紹了python程序調試設置條件斷點。實際開發,調試代碼通常要花費比新編寫代碼更多
    發表于 01-14 11:39 ?6429次閱讀
    <b class='flag-5'>python</b><b class='flag-5'>程序</b>調試<b class='flag-5'>中</b>設置條件斷點

    python代碼示例之基于Python的日歷api調用代碼實例

    本文檔的主要內容詳細介紹的是python代碼示例之基于Python的日歷api調用代碼實例。
    發表于 09-06 14:25 ?42次下載
    <b class='flag-5'>python</b><b class='flag-5'>代碼</b>示例之基于<b class='flag-5'>Python</b>的日歷api調用<b class='flag-5'>代碼</b>實例

    python基礎教程之Python核心編程學習詳細代碼說明

    bwpython基礎教程之Python核心編程學習詳細代碼說明這一章蠻重要,代碼都敲進去試過,請批評指正。方便起見,程序寫在py文件
    發表于 10-24 14:45 ?28次下載

    如何使用Eclipse調試Python

    單步調試對程序開發有非常多的好處, 能夠幫助我們開發人員檢測代碼, 分析數據, 查找原因。下面介紹一下在Eclipse IDE調試Python
    發表于 06-17 17:48 ?16次下載
    如何使用Eclipse調試<b class='flag-5'>Python</b>

    Python 代碼加速運行的的小技巧

    Python 是一種腳本語言,相比 C/C++ 這樣的編譯語言,在效率和性能方面存在一些不足。但是,有很多時候,Python 的效率并沒有想象的那么夸張。本文對一些 Python
    的頭像 發表于 09-01 11:28 ?1730次閱讀

    Python證件照制作小程序代碼

    Python證件照制作小程序代碼,可一鍵修改證件照背景及大小,采用removebg在線摳圖工具進行自動摳圖,程序已提供默認apiKey(
    的頭像 發表于 02-24 10:23 ?3602次閱讀
    <b class='flag-5'>Python</b>證件照制作小<b class='flag-5'>程序</b>源<b class='flag-5'>代碼</b>

    Python如何快速查找文件

    但是既然用到了Python,就想到可不可以來自己實現一下,下面的分析是針對一個目錄來查找的,當你知道文件大致有什么東西的時候,比如你要查找 md 結尾的的文件,又大致知道在哪個目錄的時候,就可以來自己
    的頭像 發表于 03-03 15:39 ?1461次閱讀

    Python的默認編碼

    我們使用Pycharm來編寫Python程序時會指定工程編碼和文件編碼為UTF-8,那么Python代碼被保存到磁盤時就會被轉換為UTF-8編碼對應的字節(encode過程)后寫入磁盤
    的頭像 發表于 07-05 16:11 ?1159次閱讀
    <b class='flag-5'>Python</b><b class='flag-5'>中</b>的默認編碼

    python怎樣運行代碼

    Python是一種廣泛使用的編程語言,用于開發各種類型的應用程序。它具有簡單易學的語法和強大的功能,可以用于編寫簡單的腳本、開發桌面應用、構建Web應用、進行科學計算等多種用途。在本文中,我們將詳細
    的頭像 發表于 11-22 10:31 ?1394次閱讀

    python寫完程序之后怎么運行

    Python是一門簡潔、易學的編程語言,被廣泛應用于數據分析、人工智能等領域。在學習Python編程的過程,了解程序的運行機制是至關重要的。本文將詳盡解析
    的頭像 發表于 11-22 11:10 ?1063次閱讀

    python如何換行而不運行代碼

    Python程序的換行是指在代碼中使用特定的語法來表示換行,以使代碼更易讀。換行的目的是為了讓程序
    的頭像 發表于 11-24 09:50 ?3215次閱讀

    運行Python程序的幾種常見方法

    方法: 使用Python解釋器 Python解釋器是運行Python程序的基本工具。在命令行輸入 py
    的頭像 發表于 11-28 15:32 ?2597次閱讀

    python軟件怎么運行代碼

    Python是一種高級編程語言,它被廣泛用于開發各種類型的應用程序,從簡單的腳本到復雜的網絡應用和機器學習模型。要運行Python代碼,您需要一個P
    的頭像 發表于 11-28 16:02 ?947次閱讀
    主站蜘蛛池模板: 国产乱对白精彩在线播放 | 色色色999| 亚洲国产综合久久久无码色伦 | 国产在线成人一区二区三区 | 我和妽妽在厨房里的激情区二区 | 欧美一区二区视频在线观看 | 欧美另类极品videosbest | bbwxxxx交女警 | 狠狠色丁香婷婷久久综合五月 | 伦理片 qvod 伦理片 a在线线版韩国 | TUBE8最新日本护士 | 国产精品久久久久久日本 | 男女一边摸一边做羞羞的事情免费 | 久久热免费观看视频 | 99热这里只有精品视频2 | ankha成人| 国产午夜视频在线 | 猪蜜蜜网站在线观看电视剧 | 久久亚洲精品中文字幕60分钟 | 欧美成a人片免费看久久 | 人妻兽虐曲 | 男女啪啪抽搐呻吟高潮动态图 | 久久久免费热线精品频 | 久久精品国产男包 | 欧美中文字幕一区二区三区 | 精品人妻伦九区久久AAA片69 | 国产日韩亚洲专区无码 | 抽插妇女疯狂视频 | 看全色黄大色大片免费久黄久 | 性xxx免费视频 | 全黄H全肉禁乱公 | 日本久久中文字幕 | 亚洲青青草原 | 4399日本电影完整版在线观看免费 | 国产看午夜精品理论片 | 亚洲男人的天堂久久精品麻豆 | 日日操天天操夜夜操 | 国产精品嫩草影院 | 找老女人泻火对白自拍 | 一二三区乱码不卡手机版 | 伊人久久中文大香线蕉综合 |