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

一、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 模塊內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: