好用到爆!分享這幾個Python內置模塊_第1頁
好用到爆!分享這幾個Python內置模塊_第2頁
好用到爆!分享這幾個Python內置模塊_第3頁
好用到爆!分享這幾個Python內置模塊_第4頁
好用到爆!分享這幾個Python內置模塊_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第好用到爆!分享這幾個Python內置模塊!argparse

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

importargparse

#解析參數(shù)

parser=argparse.ArgumentParser()

parser.add_argument(name)

args=parser.parse_args()

#打印結果

print(fHello{}!)

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

pythonpython_package.py俊欣

就會出現(xiàn)以下的結果。

Hello俊欣!

要是我們忘記帶上參數(shù)了,會自動出現(xiàn)如下的提示:

usage:python_package.py[-h]name

python_package.py:error:thefollowingargumentsarerequired:name

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

pythonpython_package.py-h

出來的結果如下所示:

usage:python_package.py[-h]name

positionalarguments:

optionalarguments:

-h,--helpshowthishelpmessageandexit

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

importargparse

#解析參數(shù)

parser=argparse.ArgumentParser()

parser.add_argument(name,help=Enteryourname)

args=parser.parse_args()

print(fHello{}!)

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

pythonpython_package.py-h

output

usage:python_package.py[-h]name

positionalarguments:

nameEnteryourname

optionalarguments:

-h,--helpshowthishelpmessageandexit

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

importargparse

#解析參數(shù)

parser=argparse.ArgumentParser()

parser.add_argument(name,help=Enteryourname)

parser.add_argument(age,help=Enteryourage,type=int)

args=parser.parse_args()

born_year=2025-args.age

print(fHello{}!Youwerebornedin{born_year}.)

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

pythonpython_package.py俊欣24

output

Hello俊欣!Youwerebornedin1998.

shutil

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

importshutil

print(shutil.which(python))

output

路徑

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

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

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

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

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

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

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

defchoose_numbered_files(root=.):

returnglob.glob(f{root}/[0-9].*)

choose_numbered_files(images)

返回的是在images路徑下的帶有數(shù)字的文件,結果如下:

[images\1.gif,

images\1.png,

images\2.gif,

images\2.png,

images\3.png,]

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

pprint

pprint模塊提供了美化打印任意Python數(shù)據(jù)結構的功能,方便使用者閱讀,要是用普通的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模塊來打印的話,如下:

frompprintimportpprint

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]]

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

importjson

importpprint

fromurllib.requestimporturlopen

withurlopen(/pypi/sampleproject/json)asresp:

project_info=json.load(resp)[info]

pprint.pprint(project_info)

output

{author:A.RandomDeveloper,

author_emAIl:author@,

bugtrack_url:None,

classifiers:[],

description:[],

description_content_type:text/markdown,

docs_url:None,

download_url:,

downloads:{},

home_page:/pypa/sampleproject,

keywords:samplesetuptoolsdevelopment,

license:,

maintainer:,

maintainer_email:,

name:sampleproject,

package_url:/project/sampleproject/,

platform:,

project_url:/project/sampleproject/,

project_urls:,

requires_dist:[],

requires_python:=3.5,4,

summary:AsamplePythonproject,

version:2.0.0,

yanked:False,

yanked_reason:None}

statistics

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

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

output

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

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

output

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

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

calendar

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

importcalendar

print(calendar.calendar(2025))

output

JanuaryFebruaryMarch

MoTuWeThFrSaSuMoTuWeThFrSaSuMoTuWeThFrSaSu

12123456123456

34567897891011121378910111213

101112131415161415161718192014151617181920

171819202122232122232425262721222324252627

242526272829302828293031

AprilMayJune

MoTuWeThFrSaSuMoTuWeThFrSaSuMoTuWeThFrSaSu

123112345

4567891023456786789101112

11121314151617910111213141513141516171819

181920212223241617181920212220212223242526

2526272829302324252627282927282930

3031

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

importcalendar

print(calendar.month(2025,3))

output

M

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論