首頁 > 軟體

分享3個非常實用的 Python 模組

2022-03-03 16:01:17

一、Psutil

Python當中的Psutil模組是個跨平臺庫,它能夠輕鬆獲取系統執行的程序和系統利用率,包括CPU、記憶體、磁碟、網路等資訊,它的安裝也非常的簡單,

命令列:

pip install psutil

這裡因為整體的篇幅有限,小編就暫時只羅列幾個常用的方法,例如我們想要檢視一下CPU的利用率

psutil.cpu_percent()

返回的結果表示的是當前系統範圍的CPU利用率百分比,如果我們要檢視系統中CPU的個數,

程式碼如下:

## 邏輯CPU的個數
psutil.cpu_count()

## 物理CPU的個數
psutil.cpu_count(logical=False)

又或者我們想要檢視一下系統中的實體記憶體,程式碼如下:

## 剩餘的實體記憶體
free = str(round(psutil.virtual_memory().free / (1024.0 * 1024.0 * 1024.0), 2))

## 實體記憶體總共有
total = str(round(psutil.virtual_memory().total / (1024.0 * 1024.0 * 1024.0), 2))

而如果我們想要檢視單個磁碟的資訊,就直接呼叫disk_usage()方法

print(psutil.disk_usage('C:\'))

而去獲取所有磁碟的資訊,呼叫的則是disk_partitions()方法

print(psutil.disk_partitions())

另外我們也還能夠獲取到系統的啟動時間

from datetime import datetime
print(u"系統啟動時間: %s" % datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S"))

二、Pendulum

一般我們都是用datatime模組來處理日期、時間等資料,但是不得不說在於datatime模組也有自身的一些限制,例如在處理時區時就會顯得有些不足,這次我們來介紹一下Pendulum模組

首先我們用pip命令列來進行安裝:

pip install pendulum

pendulum模組最令人印象深刻的功能是時區,例如我們想要知道“巴黎”此時的時間,可以這麼來做

now_in_paris = pendulum.now('Europe/Paris')
print(now_in_paris)

output:

2022-01-22T14:59:06.484816+01:00

還可以知道當天的日期:

d1 = pendulum.yesterday() # 昨天
d2 = pendulum.today() # 今天
d3 = pendulum.tomorrow() # 明天

output:

2022-01-21T00:00:00+08:00 # 昨天的日期
2022-01-22T00:00:00+08:00 # 今天
2022-01-23T00:00:00+08:00 # 明天

我們還可以在時間的資料上進行加、減,呼叫的是addsubtract方法

dt = pendulum.datetime(2022, 1, 22)
dt_years_add = dt.add(years=5)
print(dt_years_add)
dt_years_subtract = dt.subtract(years=1)
print(dt_years_subtract)
dt_month_add = dt.add(months=60)
print(dt_month_add)
dt_month_subtract = dt.subtract(months=60)
print(dt_month_subtract)

output:

2027-01-22T00:00:00+00:00
2021-01-22T00:00:00+00:00
2027-01-22T00:00:00+00:00
2017-01-22T00:00:00+00:00

要是我們希望將時間資料轉換成字串,就可以這麼來做,程式碼如下:

dt = pendulum.datetime(2022, 1, 23, 15, 16, 10)

要是我們需要的是字首的日期字串,則可以這麼來做

dt.to_date_string()

output:

2022-01-23

而要是我們需要的是字尾的時間字串,則可以這麼來做

dt.to_time_string()

output:

15:16:10

當然我們有時候日期和時間都需要,程式碼如下:

dt.to_datetime_string()

output:

2022-01-23 15:16:10

或者是:

dt.to_day_datetime_string()

output:

Sun, Jan 23, 2022 3:16 PM

當然該模組還有其他很多強大的功能,具體的大家可以去看它的檔案,最後我們要說的是其人性化時間的輸出功能。

如果我們平時用搜素引擎的話,就會看到有很多內容的時間被標成了“1天前”、“1周後”等等,這個在pendulum模組當中也能夠輕而易舉的實現

print(pendulum.now().subtract(days=1).diff_for_humans())
## '1 day ago'

print(pendulum.now().diff_for_humans(pendulum.now().subtract(years=1)))
## '1 year after'

print(pendulum.now().subtract(days=24).diff_for_humans())
## '3 weeks ago'

可能有些人要是英文看不懂的話,我們也可以切換到中文,如下:

print(pendulum.now().subtract(days=14).diff_for_humans())
## '2周前'

print(pendulum.now().add(seconds=5).diff_for_humans())
## '5秒鐘後'

三、Pyfiglet

pyfiglet是一個專門用來生成藝術字的模組,並且支援有多種藝術字的字型,

我們來看一下下面這個例子:

result = pyfiglet.figlet_format("Python", font="larry3d")
print(result)

output:

 ____           __    __                         
/  _`        / __/                        
L __  __ ,_ ___     ___     ___    
  ,__/ / \ /  _ `  / __` /' _ `  
  / _ \ _ / L / /  
    _ /`____ \ __\ _ _ ____/ _ _
    /_/  `/___/> \/__/ /_//_//___/  /_//_/
             /___/                              
             /__/                               

要是大家不喜歡上面的字型,可以通過下面的程式碼

pyfiglet.FigletFont.getFonts()

在輸出的所有字型當中任選一個來進行藝術字的塑造

到此這篇關於分享3個非常實用的 Python 模組的文章就介紹到這了,更多相關 Python 模組內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com