為什么是 Python -m
python -m 和 python 的區(qū)別
-m 的含義表示將庫當(dāng)作腳本來執(zhí)行。
python file.py
正常的執(zhí)行Python腳本似乎都是這個(gè)樣子,甚至于有些小伙伴根本不曉得 -m 是個(gè)什么玩意。
在help 中對(duì) -m 的解釋為: 將文件看作腳本來執(zhí)行。
什么叫當(dāng)成腳本來執(zhí)行呢?我們來看看
編寫簡單的測試腳本 bar.py
import sys
print('sys.path len is %s.' % sys.path.__len__())
for path in sys.path:
print(path)
然后分別執(zhí)行看結(jié)果
python -m bar # bar ?。?!不是 bar.py 坑!??!

由此,第一行也就是最后添加進(jìn)來的環(huán)境變量是空,空 代表的含義是當(dāng)前文件夾。也就是你命令執(zhí)行的目錄
python bar.py

第一行為絕對(duì)路徑,文件所在的目錄。而不是腳本執(zhí)行的目錄。
注意
1 -m 參數(shù) 后面 不能跟 .py 相當(dāng)于 import bar
2 -m 支持 . 語法 python -m http.server 啟動(dòng) 一個(gè)web服務(wù)器
PS:下面看下python -m的含義
1.簡單說就是:執(zhí)行某個(gè)模塊下的文件
2.python -m后面參數(shù)的形式是模塊名.文件名
可以將模塊以腳本的方式運(yùn)行。和python file.py的運(yùn)行方式區(qū)別來看。
使用這個(gè)命令會(huì)在library path中搜索執(zhí)行py文件,而不是只在current library。
3.在python參數(shù)說明中的解釋為:
run library module as a script.

總結(jié)
到此這篇關(guān)于為什么是 Python -m的文章就介紹到這了,更多相關(guān)python -m 和 python 的區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中的def __init__( )函數(shù)
這篇文章主要介紹了Python中的def __init__( )函數(shù),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-09-09
利用python設(shè)計(jì)圖像加密技術(shù)(Arnold算法)
這篇文章主要介紹了利用python設(shè)計(jì)圖像加密技術(shù)(Arnold算法),本文將借助Arnold置亂法,講解如何用python從頭至尾設(shè)計(jì)出一套圖像加密算法,需要的小伙伴可以才參考一下2022-03-03
python中l(wèi)strip()截掉字符的實(shí)例講解
在本篇文章里小編給大家整理的是一篇關(guān)于python中l(wèi)strip()截掉字符的實(shí)例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2021-05-05
TensorFlow實(shí)現(xiàn)checkpoint文件轉(zhuǎn)換為pb文件
今天小編就為大家分享一篇TensorFlow實(shí)現(xiàn)checkpoint文件轉(zhuǎn)換為pb文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02
Python容器使用的5個(gè)技巧和2個(gè)誤區(qū)總結(jié)
在本篇文章里小編給大家整理的是關(guān)于Python容器使用的5個(gè)技巧和2個(gè)誤區(qū)的相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。2019-09-09
python數(shù)據(jù)分析之將爬取的數(shù)據(jù)保存為csv格式
Python內(nèi)置了CSV模塊,可直接通過該模塊實(shí)現(xiàn)csv文件的讀寫操作,在web應(yīng)用中導(dǎo)出數(shù)據(jù)是比較常見操作,下面這篇文章主要給大家介紹了關(guān)于python數(shù)據(jù)分析之將爬取的數(shù)據(jù)保存為csv格式的相關(guān)資料,需要的朋友可以參考下2022-06-06

