自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

你真的會(huì)使用 Python 命令嗎?

開(kāi)發(fā) 后端
我想你最常用到的 Python 命令就是運(yùn)行 Python 腳本文件,像這樣:python xxx.py。不過(guò)你知道為什么這樣就可以直接執(zhí)行 Python 代碼么?

我想你最常用到的 Python 命令就是運(yùn)行 Python 腳本文件,像這樣:

python xxx.py

不過(guò)你知道為什么這樣就可以直接執(zhí)行 Python 代碼么?

還有, Python 還有一些常用的命令可玩,你試過(guò)嗎?

 

你真的會(huì)使用 Python 命令嗎?

接下來(lái),就是學(xué)習(xí) Python 的正確姿勢(shì):

 

你真的會(huì)使用 Python 命令嗎?

我們來(lái)說(shuō)說(shuō)那些我們常用到的 Python 命令。

python xxx.py

當(dāng)你通過(guò) Python 執(zhí)行腳本文件的時(shí)候,sys.argv[0] 會(huì)存儲(chǔ)這個(gè) py 文件名稱:

 

你真的會(huì)使用 Python 命令嗎?

 

你真的會(huì)使用 Python 命令嗎?

而當(dāng)你在 python xxx.py 后面再添加一些參數(shù)的時(shí)候,sys.argv 也同樣可以接收到相關(guān)的參數(shù):

 

你真的會(huì)使用 Python 命令嗎?

 

你真的會(huì)使用 Python 命令嗎?

而且,它會(huì)把你的執(zhí)行的 py 文件路徑添加到 sys.path 中來(lái),將它作為主模塊來(lái)運(yùn)行:

 

你真的會(huì)使用 Python 命令嗎?

除了直接使用 python 執(zhí)行腳本文件之外,你也可以使用 Python 執(zhí)行整個(gè) Python 項(xiàng)目目錄或者壓縮文件,不過(guò)在這里面你需要定義一個(gè) __main__.py ,要不然解釋器無(wú)法識(shí)別運(yùn)行:

 

你真的會(huì)使用 Python 命令嗎?

而當(dāng)你的目錄中有定義 __main__.py 的時(shí)候,它就可以將 main 添加到 sys.path 中來(lái),作為 main 模塊執(zhí)行:

 

你真的會(huì)使用 Python 命令嗎?

除此之外,你還可以直接使用腳本的文件執(zhí)行 Python 代碼,在你的腳本文件的第一行定義 Python 環(huán)境:

 

你真的會(huì)使用 Python 命令嗎?

接著添加腳本文件的執(zhí)行權(quán)限,然后就可以直接用腳本文件名稱直接運(yùn)行 Python 了:

 

你真的會(huì)使用 Python 命令嗎?

python -c

使用 python -c 可以讓你在命令行中寫(xiě) Python 代碼執(zhí)行,可以使用 ; 進(jìn)行代碼分行:

 

你真的會(huì)使用 Python 命令嗎?

一種更好的方式是使用空行對(duì)代碼進(jìn)行分行:

 

你真的會(huì)使用 Python 命令嗎?

當(dāng)你在 python 解釋器中使用 -c 命令的時(shí)候,它會(huì)將 -c 添加到 sys.argv[0] 中,將當(dāng)前的路徑添加到 sys.path 中:

 

你真的會(huì)使用 Python 命令嗎?

python -m

使用 -m 模塊可以以腳本的方式執(zhí)行 Python 的模塊或者包,因?yàn)閳?zhí)行的是模塊,所以就不用像執(zhí)行腳本文件那樣把 .py 擴(kuò)展名稱寫(xiě)出來(lái)。

 

你真的會(huì)使用 Python 命令嗎?

 

你真的會(huì)使用 Python 命令嗎?

可以看到,模塊的完全路徑會(huì)添加到 sys.argv[0],將當(dāng)前的路徑添加到 sys.path 中,將模塊名作為 main 執(zhí)行。

你能體會(huì)到 python xxx.py 和 python -m xxx 之間的區(qū)別么?

當(dāng)然,你也可以使用 -m 來(lái)執(zhí)行包中的模塊:

 

你真的會(huì)使用 Python 命令嗎?

通過(guò) -m 的形式,解釋器會(huì)通過(guò)搜索路徑找到相應(yīng)的模塊執(zhí)行,這樣你就不需要想執(zhí)行 .py 那樣寫(xiě)入文件的絕對(duì)路徑啦。

使用 python -m 的一個(gè)常用場(chǎng)景是在不同的版本環(huán)境中執(zhí)行相應(yīng)的模塊,比如使用 pip 安裝模塊的時(shí)候:

 

你真的會(huì)使用 Python 命令嗎?

 

你真的會(huì)使用 Python 命令嗎?

 

你真的會(huì)使用 Python 命令嗎?

python -i

當(dāng)你使用 -c 命令的時(shí)候,還想執(zhí)行完相關(guān)代碼后進(jìn)入 Python 交互模式就可以使用 -i :

 

你真的會(huì)使用 Python 命令嗎?

還有其它的命令,你可以通過(guò) python -h 找到相關(guān)的解釋:

 

你真的會(huì)使用 Python 命令嗎?

可能有時(shí)候你也想要提供一些命令給別人使用,Python 內(nèi)置了一個(gè) argparse 的庫(kù),你可以使用它來(lái)創(chuàng)建你要提供的命令,比如這樣:

 

你真的會(huì)使用 Python 命令嗎?

執(zhí)行的時(shí)候就可以使用相關(guān)的命令了:

 

你真的會(huì)使用 Python 命令嗎?

除此之外,還有一個(gè)叫做 click 的第三方庫(kù),也是用來(lái)創(chuàng)建命令的,不同的是它可以用裝飾器的方式實(shí)現(xiàn),你可以直接使用 @click.option 來(lái)定義命令選項(xiàng),用起來(lái)相對(duì)簡(jiǎn)單,這是一個(gè)官方的例子:

 

你真的會(huì)使用 Python 命令嗎?

使用起來(lái)是這樣的:

 

你真的會(huì)使用 Python 命令嗎?

 

你真的會(huì)使用 Python 命令嗎?

當(dāng)然,它還提供了多種創(chuàng)建命令的方式,你可以在以下鏈接中找到:

  • https://click.palletsprojects.com/en/6.x/

ok,以上就是小帥b今天給你帶來(lái)的分享,希望對(duì)你有幫助,那么我們下回見(jiàn),peace!

責(zé)任編輯:未麗燕 來(lái)源: 今日頭條
相關(guān)推薦

2020-12-09 10:34:51

htopLinux命令

2021-05-12 07:50:05

Linux運(yùn)維Linux系統(tǒng)

2022-09-13 12:10:04

unlink刪除文件

2023-07-03 08:01:38

AI模型AIGC

2022-03-25 09:39:50

LinuxLinux top

2022-06-12 16:05:22

vimLinux

2013-08-09 09:49:08

云計(jì)算IT

2024-11-19 08:35:49

前端開(kāi)發(fā)數(shù)組

2016-06-01 15:42:58

Hadoop數(shù)據(jù)管理分布式

2020-04-17 14:25:22

Kubernetes應(yīng)用程序軟件開(kāi)發(fā)

2022-07-26 00:00:22

HTAP系統(tǒng)數(shù)據(jù)庫(kù)

2014-04-17 16:42:03

DevOps

2011-11-25 10:21:44

云計(jì)算

2021-11-09 09:48:13

Logging python模塊

2022-08-15 10:42:50

千兆網(wǎng)絡(luò)千兆光纖

2021-01-15 07:44:21

SQL注入攻擊黑客

2021-04-23 07:27:31

內(nèi)存分配CPU

2019-09-16 08:40:42

2020-02-27 10:49:26

HTTPS網(wǎng)絡(luò)協(xié)議TCP

2017-11-02 16:03:12

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)