国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

在Python中使用LooseVersion進行軟件版本號比對

這篇具有很好參考價值的文章主要介紹了在Python中使用LooseVersion進行軟件版本號比對。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

技術背景

Python是一門極其熱門、極其靈活的開發(fā)語言,其更新迭代的速度也非常的快速。有時候我們遇到不同的軟件版本不同方法處理的情況,此時就需要用到版本號比對的工具。舉一個例子說,我們要在python代碼中區(qū)分numpy版本在1.21.6之前和之后的版本。雖然我們可以自己手寫一個軟件版本號識別和比對的簡單函數,但是相比之下,LooseVersion的方案會更加的成熟和方便一些。本文主要介紹LooseVersion的一些相關使用場景。

查看軟件版本號

在python中我們可以使用兩種方法來獲取一個軟件的版本號。如果是在命令行下,我們可以使用pip來查看版本號:

$ python3 -m pip show numpy
Name: numpy
Version: 1.21.6
Summary: NumPy is the fundamental package for array computing with Python.
Home-page: https://www.numpy.org
Author: Travis E. Oliphant et al.
Author-email: 
License: BSD
Location: /home/dechin/anaconda3/envs/mindspore-latest/lib/python3.7/site-packages
Requires: 
Required-by: torchvision, torch, tensorboard, numba, netCDF4, gsd, GridDataFormats, cftime, Xponge, xarray, silx, scipy, scikit-learn, rdkit, pandas, mindspore, mindspore-cuda11-dev, matplotlib, h5py, fabio, biotite, biopython

而如果是在python程序的內部,我們需要通過package.__version__來進行查看:

In [1]: import numpy as np

In [2]: np.__version__
Out[2]: '1.21.6'

上面的python案例在ipython模式下運行。

LooseVersion的使用

LooseVersion(version)可以直接用于比較大小,比如LooseVersion(version2)>LooseVersion(version1),會返回一個布爾值,其引用方法如下:

In [1]: from distutils.version import LooseVersion

In [2]: import numpy as np

In [3]: LooseVersion(np.__version__) >= LooseVersion('1.21.6')
Out[3]: True

其返回值為真,表示當前的numpy版本號是更新的。除了標準的版本號比對之外,還可以進行一些錯位的比對:

# 末位版本號領先
In [4]:  LooseVersion('1.21.6') >= LooseVersion('1.21.0')
Out[4]: True
# 中間位版本號落后
In [5]:  LooseVersion('1.21.6') >= LooseVersion('1.22.0')
Out[5]: False
# 多一位版本號表示領先
In [6]:  LooseVersion('1.21.6') >= LooseVersion('1.21')
Out[6]: True
# 落后一個alpha迭代版本
In [7]:  LooseVersion('1.21.6') >= LooseVersion('1.21.6a')
Out[7]: False
# 多兩位版本號領先
In [8]:  LooseVersion('1.21.6') >= LooseVersion('1')
Out[8]: True
# 首位版本號落后
In [9]:  LooseVersion('1.21.6') >= LooseVersion('2')
Out[9]: False

應該說LooseVersion的功能基本涵蓋了版本號演化的大部分規(guī)則,在實際場景中使用Python內置的LooseVersion可能會比自己寫一個版本比對算法更加來的方便。

總結概要

在軟件版本快速迭代的過程中,經常會遇到一些接口變化問題。而如果需要兼容舊版本的話,就需要使用到版本判斷的方法。判斷清楚版本號屬于哪一個區(qū)間,再對不同的版本號區(qū)間采取不同的算法或者執(zhí)行策略。Python中預先內置的LooseVersion就是一個很好的版本號比對工具,不僅僅可以對相同位數或者相同類型的版本號進行比對,還可以進行錯位的版本號比對。當然,需要注意的是,LooseVersion中對于輸入的版本號類型還是有要求的,比如版本號中的每一位的開頭必須是一個數字,版本號的每一位都不能以字母開頭,否則無法進行比對。

版權聲明

本文首發(fā)鏈接為:https://www.cnblogs.com/dechinphy/p/loose-version.html

作者ID:DechinPhy

更多原著文章請參考:https://www.cnblogs.com/dechinphy/

打賞專用鏈接:https://www.cnblogs.com/dechinphy/gallery/image/379634.html

騰訊云專欄同步:https://cloud.tencent.com/developer/column/91958

CSDN同步鏈接:https://blog.csdn.net/baidu_37157624?spm=1008.2028.3001.5343

51CTO同步鏈接:https://blog.51cto.com/u_15561675文章來源地址http://www.zghlxwxcb.cn/news/detail-637836.html

到了這里,關于在Python中使用LooseVersion進行軟件版本號比對的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 零代碼編程:PDF文件名和Excel數據進行比對找不同

    零代碼編程:PDF文件名和Excel數據進行比對找不同

    F盤“北交所招股說明書”文件夾下有150個文件; F盤”北證A股20230703.xlsx”表格中證券名稱有200多個; 現(xiàn)在想找出文件夾下的哪些證券名稱不在表格里面。 在ChatGPT中輸入提示詞: 寫一段Python程序: F盤“北交所招股說明書”文件夾下有很多PDF文件,獲取其標題名稱,保存到

    2024年02月15日
    瀏覽(21)
  • 新版Selenium使用Python對web頁面多個相同Class Name屬性的元素進行選擇&新老版本對比

    新版Selenium使用Python對web頁面多個相同Class Name屬性的元素進行選擇&新老版本對比

    在使用新版的Selenium對網頁代碼中存在相同class name屬性的元素進行定位,在定位的過程中發(fā)現(xiàn)使用先前的定位方法已經無法成功對所要操作組件進行定位,這是什么問題呢?下面為大家進行解答。 大概為了統(tǒng)一編寫格式,方便閱讀理解,新版本的Selenium出來后,摒棄了舊版的

    2024年02月04日
    瀏覽(15)
  • 生物學經典blast比對算法,R語言和Python如何實現(xiàn)?

    做生物的同學肯定聽說過blast比對這個方法,一般在NCBI等網站上可以在線進行比對,也可以在本地服務器進行比對,那么blast算法究竟是怎么實現(xiàn)對不同序列的比對呢? 本文分享經典blast算法的基礎原理,以及通過R語言和Python實現(xiàn)這個算法,不依賴網站自己進行序列比對。

    2024年02月15日
    瀏覽(25)
  • Java使用opencv實現(xiàn)人臉識別、人臉比對

    Java使用opencv實現(xiàn)人臉識別、人臉比對

    1. opencv概述 OpenCV是一個開源的計算機視覺庫,它提供了一系列豐富的圖像處理和計算機視覺算法,包括圖像讀取、顯示、濾波、特征檢測、目標跟蹤等功能。 opencv官網:https://opencv.org/ opencv官網文檔:https://docs.opencv.org/4.7.0/index.html 參考教程1:https://www.w3cschool.cn/opencv/ 參考教

    2024年02月08日
    瀏覽(20)
  • 關于使用Gitee進行版本管理——使用IDE

    關于使用Gitee進行版本管理——使用IDE

    1.下載并安裝Git版本控制工具(Git下載與安裝_git官網下載-CSDN博客) 2.下載并安裝Android Studio(參考對應的Android studio安裝步驟) 3.注冊Gitee賬號(參考對應gitee(碼云)注冊以及最簡單基礎的操作大全_碼云注冊-CSDN博客) 1. 新建倉庫 登錄 Gitee 賬號之后,點擊新建倉庫:

    2024年02月21日
    瀏覽(17)
  • 防火墻軟件版本過舊:使用的防火墻軟件版本過舊,無法支持新的安全特性

    防火墻軟件版本過舊:使用的防火墻軟件版本過舊,無法支持新的安全特性

    隨著網絡攻擊的日益增多和新型惡意軟件的不斷涌現(xiàn),企業(yè)和個人用戶越來越關注網絡安全問題. 為了保護系統(tǒng)和數據安全, 安裝并維護一款可靠的防火墻是必要的手段之一. 但許多用戶在遇到以下問題時可能會感到困惑:為什么我的系統(tǒng)提示說需要更新防火牆軟件?有什么辦法

    2024年02月20日
    瀏覽(27)
  • 使用openCV比對任意兩張圖片的相似度(親測較準確)

    使用openCV比對任意兩張圖片的相似度(親測較準確)

    方案:使用openCV中的直方圖算法做對比。測試效果較好。 代碼中提供了均方差算法(MSE)、結構相似性指數算法(SSIM)、峰值信噪比(PSNR)、直方圖算法。其中直方圖效果最好 Exception in thread \\\"main\\\" java . lang . UnsatisfiedLinkError : no opencv_java455 in java . library . path Exception in threa

    2024年02月16日
    瀏覽(18)
  • Visual Studio2022 使用git進行代碼版本管理

    Visual Studio2022 使用git進行代碼版本管理

    存儲庫位置: 就是自己創(chuàng)建的Git倉庫的位置,例如,我的遠程倉庫在Gitee上面,找到遠程倉庫要下載的項目,點克隆,把HTTPS 路徑復制,粘貼到存儲庫位置。 路徑: 克隆下來的項目,存儲在本地倉庫的目錄(本地倉庫) 拉取和提取的區(qū)別: 拉取: 如果當前存在 未同步的代碼

    2024年02月08日
    瀏覽(20)
  • python用 xlwings庫對Excel進行 字體、邊框設置、合并單元格, 版本轉換等操作

    xlwings?其他的一些單元格讀取寫入操作網上很多, 下面就寫些如何設置單元格的? 字體對齊,字體大小、邊框, 合并單元格, ?這些設置。 顏色索引: 無色 = -4142, ??自動 = -4105,??黑色 = 1, 白色 = 2 ,????紅色 = 3,????鮮綠 = 4, 藍色 = 5 ,????黃色 = 6,????

    2024年02月11日
    瀏覽(23)
  • 使用Git對Word或Excel文件進行版本管理

    我們在使用Word編輯文檔,或者使用Excel表格計算時,時常想,要是有個版本管理工具能把我們的文檔或表格管理起來就好了,好讓我們可以“昨日重現(xiàn)”,而不至人為失誤而后悔不迭。 git就是一個使用便捷,功能強大的工具,在編程界可謂鼎鼎大名,可以說是程序員的必備工

    2024年02月10日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包