日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【Python】分享几个好用到爆的Python内置模块

發布時間:2025/3/12 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python】分享几个好用到爆的Python内置模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天介紹幾個好用到爆的Python內置庫,相信大家看過之后會對今后的Python編程幫助多多

argparse

Python當中的argparse模塊主要用于命令行的參數解析,可以幫助用戶輕松地編寫命令行接口,我們先來看一個例子

import?argparse#?解析參數 parser?=?argparse.ArgumentParser() parser.add_argument("name") args?=?parser.parse_args()#?打印結果 print(f'Hello?{args.name}!')

然后我們在終端當中運行以下的代碼

python?python_package.py?俊欣

就會出現以下的結果

Hello?俊欣!

要是我們忘記帶上參數了,會自動出現如下的提示

usage:?python_package.py?[-h]?name python_package.py:?error:?the?following?arguments?are?required:?name

當然我們也可以通過如下的命令行來查看需要添加什么樣的參數

python?python_package.py?-h

出來的結果如下所示

usage:?python_package.py?[-h]?namepositional?arguments:nameoptional?arguments:-h,?--help??show?this?help?message?and?exit

當然我們并不知道這個name的參數到底指的是什么,因為我們可以更改一下我們寫的程序

import?argparse#?解析參數 parser?=?argparse.ArgumentParser() parser.add_argument("name",?help="Enter?your?name") args?=?parser.parse_args()print(f'Hello?{args.name}!')

這樣的話,我們再來運行一下如下的命令行

python?python_package.py?-h

output

usage:?python_package.py?[-h]?namepositional?arguments:name????????Enter?your?nameoptional?arguments:-h,?--help??show?this?help?message?and?exit

有時候我們想要輸入的不止一個參數,我們可以這樣來做,

import?argparse#?解析參數 parser?=?argparse.ArgumentParser() parser.add_argument("name",?help="Enter?your?name") parser.add_argument("age",?help='Enter?your?age',?type=int) args?=?parser.parse_args()born_year?=?2022?-?args.age print(f'Hello?{args.name}!?You?were?borned?in?{born_year}.')

我們通過終端輸入如下的程序

python?python_package.py?俊欣?24

output

Hello?俊欣!?You?were?borned?in?1998.

shutil

shutil模塊提供了大量的文件高級操作。特別是針對文件的拷貝、刪除、移動、壓縮和解壓縮等操作,我們先來看一個例子

import?shutil print(shutil.which("python"))

output

路徑......

上面返回的是Python可執行程序的路徑,文件移動的代碼是shutil.move(src, dst)

shutil.move("源路徑",?"目標路徑")

除此之外我們主要會用到的還有:

  • shutil.copyfile(src, dst): 復制文件

  • shutil.copytree(olddir, newdir, True/False):復制整個文件夾目錄

  • shutil.rmtree(src): 遞歸刪除一整個目錄以及目錄文件夾下的所有內容

glob

glob模塊主要是用來查找符合特定規則的目錄和文件,并將查找出來的結果返回到一個列表當中來。它還可以和正則通配符一起來使用,例如

def?choose_numbered_files(root="."):return?glob.glob(f"{root}/[0-9].*")choose_numbered_files("images")

返回的是在images路徑下的帶有數字的文件,結果如下

['images\\1.gif','images\\1.png','images\\2.gif','images\\2.png','images\\3.png',]

上面用到的glob.glob()返回的是符合匹配條件的所有文件的路徑,而glob.iglob()返回的是一個迭代對象,需要循環遍歷獲取每個元素之后得到符合匹配條件的所有文件的路徑。

pprint

pprint模塊提供了“美化打印”任意Python數據結構的功能,方便使用者閱讀,要是用普通的print來打印的話,如下

nested?=?[list("abcs"),?list("sdff"),?[1,?45,?4,?6,?7,?8],?list(range(12))] print(nested)

output

[['a',?'b',?'c',?'s'],?['s',?'d',?'f',?'f'],?[1,?45,?4,?6,?7,?8],?[0,?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11]]

而用pprint模塊來打印的話,如下

from?pprint?import?pprint pprint(nested)

output

[['a',?'b',?'c',?'s'],['s',?'d',?'f',?'f'],[1,?45,?4,?6,?7,?8],[0,?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11]]

我們還能夠對鍵值對類型的數據進行格式化的輸出,代碼如下

import?json import?pprint from?urllib.request?import?urlopenwith?urlopen('https://pypi.org/pypi/sampleproject/json')?as?resp:project_info?=?json.load(resp)['info']pprint.pprint(project_info)

output

{'author':?'A.?Random?Developer','author_email':?'author@example.com','bugtrack_url':?None,'classifiers':?[.......],'description':?[.......],'description_content_type':?'text/markdown','docs_url':?None,'download_url':?'','downloads':?{.........},'home_page':?'https://github.com/pypa/sampleproject','keywords':?'sample?setuptools?development','license':?'','maintainer':?'','maintainer_email':?'','name':?'sampleproject','package_url':?'https://pypi.org/project/sampleproject/','platform':?'','project_url':?'https://pypi.org/project/sampleproject/','project_urls':?..........,'requires_dist':?[..........],'requires_python':?'>=3.5,?<4','summary':?'A?sample?Python?project','version':?'2.0.0','yanked':?False,'yanked_reason':?None}

statistics

Python當中的statistics模塊提供了更加完善的數據統計操作,例如對中位數的計算就提供了median_low()、median_high()兩種方法,分別來計算數據的低中位數(偶數個樣本時取中間兩個數的較小者),代碼如下

statistics.median_low([1,3,5,7])

output

3

和高中位數(偶數個樣本時取中間兩個數的較大者),代碼如下

statistics.median_high([1,3,5,7])

output

5

除此之外,例如平均數、眾數、標準差、方差等等都能夠計算,例如

x1?=?statistics.mode([1,1,2,3,4,3,3,3,3]) print(x1)x2?=?statistics.mode(["a","b","c","d","d","a","a",]) print(x2)

output

3 a

calendar

Python當中的日歷模塊提供了對日期的一系列操作方法,并且可以生成日歷,代碼如下

import?calendar print(calendar.calendar(2022))

output

2022January???????????????????February???????????????????March Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su1??2??????????1??2??3??4??5??6??????????1??2??3??4??5??63??4??5??6??7??8??9???????7??8??9?10?11?12?13???????7??8??9?10?11?12?13 10?11?12?13?14?15?16??????14?15?16?17?18?19?20??????14?15?16?17?18?19?20 17?18?19?20?21?22?23??????21?22?23?24?25?26?27??????21?22?23?24?25?26?27 24?25?26?27?28?29?30??????28????????????????????????28?29?30?31 31April??????????????????????May???????????????????????June Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su??????Mo?Tu?We?Th?Fr?Sa?Su1??2??3?????????????????????????1?????????????1??2??3??4??54??5??6??7??8??9?10???????2??3??4??5??6??7??8???????6??7??8??9?10?11?12 11?12?13?14?15?16?17???????9?10?11?12?13?14?15??????13?14?15?16?17?18?19 18?19?20?21?22?23?24??????16?17?18?19?20?21?22??????20?21?22?23?24?25?26 25?26?27?28?29?30?????????23?24?25?26?27?28?29??????27?28?29?3030?31 ......

當然我們也可以打印出某一個月份的日歷,代碼如下

import?calendar print(calendar.month(2022,?3))

output

March?2022 Mo?Tu?We?Th?Fr?Sa?Su1??2??3??4??5??67??8??9?10?11?12?13 14?15?16?17?18?19?20 21?22?23?24?25?26?27 28?29?30?31

calendar.isleap(year)是閏年則返回True,否則返回False,例如

import?calendar print(calendar.isleap(2022))

output

False往期精彩回顧適合初學者入門人工智能的路線及資料下載(圖文+視頻)機器學習入門系列下載中國大學慕課《機器學習》(黃海廣主講)機器學習及深度學習筆記等資料打印《統計學習方法》的代碼復現專輯 AI基礎下載機器學習交流qq群955171419,加入微信群請掃碼:

總結

以上是生活随笔為你收集整理的【Python】分享几个好用到爆的Python内置模块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。