1. 程式人生 > >Python的-m引數

Python的-m引數

1、在命令列中啟動Python指令碼的時候,經常會用到-m引數,那麼-m起了什麼作用呢?

2、先看看 python --help 給出的資訊:

run library module as a script (terminates option list)

意思是將庫中的python模組用作指令碼去執行。

3、常用例子

python -m SimpleHTTPServer    #python2中啟動一個簡單的http伺服器
python -m http.server    #python3中啟動一個簡單的http伺服器

4、將模組當做指令碼去啟動有什麼用?

  1. python xxx.py
  2. python -m xxx.py

這是兩種載入py檔案的方式:
1叫做直接執行
2相當於import,叫做當做模組來啟動

不同的載入py檔案的方式,主要是影響sys.path這個屬性。sys.path相當於Linux中的PATH

>>> import sys
>>> sys.path
['', 'D:\\Python3\\lib\\site-packages\\django-1.10.1-py3.5.egg', 'D:\\Python3\\l
ib\\site-packages\\psycopg2-2.6.2-py3.5-win32.egg', 'D:\\Python3\\python35.zip'
, 'D:\\Python3\\DLLs', 'D:\\Python3\\lib', 'D:\\Python3', 'D:\\Python3\\lib\\site -packages']

這就是當前Python解析器執行的環境,Python解析器會在這些目錄下去尋找依賴庫。

詳細的區別可以參考這篇博文-->http://www.cnblogs.com/xueweihan/p/5118222.html

相關推薦

[python]自問自答:python -m引數? ( python3.7 版本 )

最近在看Python程式碼的時候看到了一種形式, 即  python -m    這種形式,   查了一些部落格,發現了一篇寫的還不錯,轉載了過來,不過那裡面寫的是Python2.7的環境和python3還是有些區別的,下面給出Python2.7形式

python install 的-m引數?--user ?

  平時老是用python -m,但一直不知道是什麼意思,今天特地查了下。轉自https://www.cnblogs.com/maoguy/p/6670988.html 先看看 python --help 給出的資訊: run library module as a scr

Python的-m引數

1、在命令列中啟動Python指令碼的時候,經常會用到-m引數,那麼-m起了什麼作用呢? 2、先看看 python --help 給出的資訊: run library module as a script (terminates option list) 意

$ sudo python -m pip install pylint 出錯解決方法

studio span lang 問題 pan 方法 pretty sudo pytho 問題:在unbuntu執行$ sudo python -m pip install pylint出錯解決方法支行以下命令sudo pip install pylint==1.9.3這

python/M/leetcode】Compare Version Numbers

題目 https://leetcode.com/problems/compare-version-numbers/ 注意 就注意一下開始和末尾有0的情況 01 和 1 1.0 和 1 的區別 實現程式碼 class Solution(object):

Python函式引數和返回值

- 函式引數和返回值的作用 函式:封裝功能獨立的程式碼,在需要時通過函式名被呼叫 引數:外界希望在函式內部處理的資料 返回值:函式完成工作後,給呼叫者的一個結果 函式根據有無引數和返回值,可以相互結合,共有4種組合形式 1.無引數,無返回值 2.無引數,有返回值 3.有引數,無返回值

Python程式設計:命令列pythonpython -m的區別

參考了很多,總結下 Python指令碼執行的方式 當模組匯入 直接執行(__name__ == "main") $ python 執行當前目錄下py檔案 $ python -m 將已安裝庫中的模組當指令碼執行 主要

You are using pip version 10.0.1, however version 18.1 is available. You should consider upgrading via the 'python -m pip install --upgrade pip

pip提示: You are using pip version 10.0.1, however version 18.1 is available.You should consider upgrading via the 'python -m pip install --upgrade pip' c

25- 解決'python -m pip install --upgrade pip' 報錯問題

轉載於:https://blog.csdn.net/cxs123678/article/details/80659273   再安裝包的時候提示 You are using pip version 9.0.3, however version 10.0.1 is available.You s

python引數裝飾器使用

# -*- coding: utf-8 -* """TensorFlow指定使用GPU工具類 author: Jill usage: 方法上加@tf_with_device(device) 具體見本檔案demo """ from functools import w

python -m xxx.py和python xxx.py的區別

先看下python -m site作用是顯示sys.path的值內容,也就是python搜尋模組的目錄,作用類似於linux下的PATH   python -m SimpleHTTPServer 會在sys.path的所有路徑下查詢SimpleHTTPServer.py檔案; 而pyth

Java和Python引數傳遞

我之前總結過很多次java的引數傳遞問題,但是總覺得不夠完美,今天再來總結一次,帶上python java的引數傳遞只有值傳遞,這是首先要宣告的. 如果傳遞的引數是基本資料型別,那就是把本身的複製傳了過去,不管在方法內部怎樣修改這個值,都不會影響到方法外的變數。 如果傳遞的是一個物件,這是十分

Python關鍵字引數與位置引數

呼叫 Python 函式時可以使用關鍵字引數,也可以使用位置引數,而且有些時候二者同時使用。使用關鍵字引數時,引數的名稱和值一起傳遞;使用位置引數時,只傳遞值,而不明確指定哪個引數匹配哪個值,二者的關係由引數的順序確定。 例如,對下面這個簡單的函式來說: def sell(item, pri

Python引數型別、變數

一、引數型別 (一)形參與實參 要使用區域性變數時,只能通過return的方式返回 def my(name): #函式體 return name my('lrx') #name是形參,lrx是實參 不寫返回值的時候,返回的是None def db_

-bash: ./****.py: /usr/bin/python^M: bad interpreter: No such file or directory

在windows系統下寫的python指令碼,在linux下賦予許可權chmod +x xxx.py 以後,執行./xxx.py執行提示:bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or

python預設引數的坑以及最佳實踐

// An example def addEnd(L=[]): L.append("end") return L print addEnd()#["end"] print addEnd()#["end", "end"]坑!!!對一切的列表有記憶了,不是我們想要的 pri

python函式引數的填坑之路

背景 最近在看廖雪峰老師的python3教程之函式的引數 受益匪淺,但是在實踐的過程中,發現了一些不解之謎 兩個錯誤 import _thread import time def func1(x): while x: print(x) x = x -1 _threa

Python引數型別

引數型別: 1、必填引數,位置引數(positional arguments,官方定義,就是其他語言所說的引數) 2、預設值引數,非必傳 3、可變引數,非必傳,不限制引數個數,比如說給多個人發郵件,發郵件的人數不確定 4、關鍵字引數,非必傳,不限制引數個數,會把傳過來的關鍵字引數,放

Python 函式 引數傳遞

引數傳遞    在 python 中,型別屬於物件,變數是沒有型別的:        a=[1,2,3]        a="Runoob" &nbs

Python一一引數

引數 傳遞引數 (1).引數的傳遞是通過自動將物件賦值給本地變數名來實現的。所有的引數實際上都是通過指標進行傳遞的。作為引數被傳遞的物件從來不自動拷貝。 (2).在函式內部的引數名的賦值不會影響呼叫者。 (3).改變函式的可變物件引數的值也許會對呼叫者有影響。因為引數