日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
好用到爆!分享這幾個Python內(nèi)置模塊!

argparse

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

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

然后我們在終端當(dāng)中運(yùn)行以下的代碼:

python python_package.py 俊欣

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

Hello 俊欣!

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

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

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

python python_package.py -h

出來的結(jié)果如下所示:

usage: python_package.py [-h] name
positional arguments:
name
optional arguments:
-h, --help show this help message and exit

當(dāng)然我們并不知道這個name的參數(shù)到底指的是什么,因?yàn)槲覀兛梢愿囊幌挛覀儗懙某绦颉?/p>

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

這樣的話,我們再來運(yùn)行一下如下的命令行:

python python_package.py -h

output

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

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

import argparse
# 解析參數(shù)
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可執(zhí)行程序的路徑,文件移動的代碼是shutil.move(src, dst)。

shutil.move("源路徑", "目標(biāo)路徑")

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

  • shutil.copyfile(src, dst): 復(fù)制文件
  • shutil.copytree(olddir, newdir, True/False):復(fù)制整個文件夾目錄
  • shutil.rmtree(src): 遞歸刪除一整個目錄以及目錄文件夾下的所有內(nèi)容

glob

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

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

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

['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ù)結(jié)構(gòu)的功能,方便使用者閱讀,要是用普通的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]]

我們還能夠?qū)︽I值對類型的數(shù)據(jù)進(jìn)行格式化的輸出,代碼如下:

import json
import pprint
from urllib.request import urlopen
with 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當(dāng)中的statistics模塊提供了更加完善的數(shù)據(jù)統(tǒng)計操作,例如對中位數(shù)的計算就提供了median_low()、median_high()兩種方法,分別來計算數(shù)據(jù)的低中位數(shù)(偶數(shù)個樣本時取中間兩個數(shù)的較小者),代碼如下:

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

output

3

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

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

output

5

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

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當(dāng)中的日歷模塊提供了對日期的一系列操作方法,并且可以生成日歷,代碼如下:

import calendar
print(calendar.calendar(2022))

output    

2022
January February March
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 1 2 3 4 5 6 1 2 3 4 5 6
3 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
31
April May June
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 1 1 2 3 4 5
4 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 30
30 31
......

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

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

output

March 2022
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6
7 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

網(wǎng)站欄目:好用到爆!分享這幾個Python內(nèi)置模塊!
網(wǎng)頁路徑:http://www.5511xx.com/article/cdighed.html