最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python的常用基礎模塊之sys模塊詳解

 更新時間:2023年08月01日 11:06:30   作者:Amo Xiang  
這篇文章主要介紹了Python的常用基礎模塊之sys模塊詳解,sys 模塊提供訪問 Python 解釋器使用或維護的屬性,以及與 Python 解釋器進行交互的方法,需要的朋友可以參考下

一、sys模塊介紹

1.1 什么是 Python 解釋器

當編寫 Python 代碼時,通常都會得到一個包含 Python 代碼的以 .py 為擴展名的文件。

要運行編寫的代碼,就需要使用 Python 解釋器去執(zhí)行 .py 文件。

因此,Python 解釋器就是用來執(zhí)行 Python 代碼的一種工具。常見的 Python 解釋器有以下幾種:

  • CPython:Python 的官方解釋器。

當我們從 Python 官方網(wǎng)站下載并安裝好 Python 后,就直接獲得了 CPython 解釋器,該解釋器是使用 C 語言開發(fā)的,所以叫 CPython。

我們在 CMD 命令窗口中運行 python 命令就是啟動 CPython 解釋器,如下圖所示:

在這里插入圖片描述

  • IPython :IPython 是基于 CPython 之上的一個交互式解釋器,它執(zhí)行 Python 代碼的功能和 CPython 是完全一樣的,唯一的區(qū)別是:CPython 用 >>> 作為提示符,而 IPython 用 In[ 序號]: 作為提示符。

在這里插入圖片描述

  • PyPy :PyPy 解釋器的目標是執(zhí)行速度,它采用 JIT 技術,對 Python 代碼進行動態(tài)編譯,所以可以顯著提高 Python 代碼的執(zhí)行速度。
  • Jython:運行在 Java 平臺上的 Python 解釋器,可以直接把 Python 代碼編譯成 Java 字節(jié)碼執(zhí)行。
  • IronPython :運行在微軟 .NET 平臺上的 Python 解釋器,可以直接把 Python 代碼編譯成 .NET 的中間代碼。

1.2 sys 模塊的作用

sys 模塊提供訪問 Python 解釋器使用或維護的屬性,以及與 Python 解釋器進行交互的方法。

簡單來講,sys 模塊負責程序與 Python 解釋器的交互,并提供了一系列的屬性和方法,用于操控 Python 運行時的環(huán)境。

在 Python 程序中使用 sys 模塊,首先需要使用 import 導入,代碼如下:

import sys

導入 sys 模塊后,就可以使用該模塊提供的屬性和方法了。

二、常用方法及屬性介紹

2.1 modules屬性

將模塊名稱映射到已加載模塊的字典

modules 屬性返回一個將模塊名稱映射到已加載模塊的字典。語法格式如下:

sys.modules  # 返回值:返回一個字典

使用 modules 屬性獲取本機所有已安裝的模塊及所在模塊文件,代碼如下:

import sys
for key, value in sys.modules.items():  # 遍歷所有模塊字典
    print(f'{key}:{value}')  # 打印模塊及所在模塊文件

程序運行結果如下:

在這里插入圖片描述

使用 modules 屬性獲取 os 模塊的來源,代碼如下:

import sys
# <module 'os' from 'd:\\developsoftware\\python37\\lib\\os.py'>
print(sys.modules["os"])

使用 modules 對象的 keys() 方法可以獲取到所有導入的模塊列表,代碼如下:

import sys
print('模塊列表:')
for i in sys.modules.keys():  # 遍歷模塊列表
    print('' + i)  # 打印模塊

2.2 getdefaultencoding()方法

獲取默認字符串編碼名稱

getdefaultencoding() 方法用于返回當前默認字符串編碼的名稱,語法格式如下:

sys.getdefaultencoding()

參數(shù)說明:返回值:返回類似 ascii、utf-8 或者 gbk 等的字符串,具體的值根據(jù) site.py 模塊中設置的默認編碼而定。

使用 getdefaultencoding() 方法獲取本地 Python 解釋器使用的默認字符串編碼,代碼如下:

import sys
print(sys.getdefaultencoding())  # utf-8

2.3 exit()方法

退出Python

exit() 方法用于退出 Python 解釋器,即退出正在運行的程序。語法格式如下:

sys.exit([arg])

參數(shù)說明:

  • arg :可選參數(shù),該參數(shù)是一個整數(shù),表示退出狀態(tài)。0 表示正常退出,非 0 表示異常終止。如果指定為一個非整數(shù)值,則將它打印到 sys.stderr,并使用退出碼 1。
  • 返回值:返回退出碼,0 表示正常退出,1 表示異常退出。

說明:arg 參數(shù)的取值范圍通常在 0~127 范圍內(nèi),否則會產(chǎn)生不確定的結果。

正常退出程序的代碼如下:

import sys
print(11)
sys.exit(0)

程序運行結果如下:

在這里插入圖片描述

通過為 exit() 方法指定非 0 參數(shù)異常終止程序,代碼如下:

import sys
print(11)
sys.exit(1)
print(22)

程序運行結果如下:

在這里插入圖片描述

2.4 path屬性

指定模塊搜索路徑

path 屬性用于獲取一個字符串列表,它指定模塊的搜索路徑。在程序啟動時,此列表的第一項 path[0] 通常是 Python 腳本(.py 文件) 所在的目錄。如果腳本目錄不可用(例如,交互式調(diào)用解釋器或者從標準輸入讀取腳本),則 path[0] 為空字符串,它指示 Python 首先搜索當前目錄中的模塊。語法格式如下:

sys.path

使用 path 屬性獲取 Python 解釋器的模塊搜索路徑,并遍歷輸出,代碼如下:

import sys
for i in sys.path:  # 遍歷所有路徑列表
    print(i)  # 打印遍歷到的路徑

程序運行結果如下:

E:\Code\lesson\python-package
E:\Code\lesson
D:\DevelopSoftware\PyCharm2021.3.3\PyCharm 2021.3.3\plugins\python\helpers\pycharm_display
d:\developsoftware\python37\python37.zip
d:\developsoftware\python37\DLLs
d:\developsoftware\python37\lib
d:\developsoftware\python37
E:\Code\scrapy_study\venv
E:\Code\scrapy_study\venv\lib\site-packages
D:\DevelopSoftware\PyCharm2021.3.3\PyCharm 2021.3.3\plugins\python\helpers\pycharm_matplotlib_backend

使用 path 屬性的 append() 方法向模塊搜索路徑中添加 ./module,然后遍歷輸出最新的模塊搜索路徑,代碼如下:

import sys
sys.path.append("./module") # 添加模塊搜索路徑

2.5 argv屬性

程序命令行參數(shù)列表

argv 屬性表示傳遞給 Python 腳本的命令行參數(shù)列表。argv[0] 是腳本名稱(取決于操作系統(tǒng)是否為完整路徑名)。語法格式如下:

sys.argv

通過使用 argv 屬性獲取 Python 解釋器的命令行參數(shù)列表,并使用 argv[0] 獲取 Python 腳本的完整路徑,代碼如下:

在這里插入圖片描述

通過使用 os 模塊的 fsencode() 方法獲取命令行參數(shù)的原始字節(jié),代碼如下:

import sys
import os
for arg in sys.argv:
    print(os.fsencode(arg))

程序運行結果如下:

b'E:/Code/lesson/python-package/demo5_sys.py'

注意:在 Unix 系統(tǒng)中,命令行參數(shù)是從 OS 傳遞的字節(jié)。Python 使用文件系統(tǒng)編碼和 surrogateescape 錯誤處理程序對它們進行解碼。

2.6 platform屬性

獲取系統(tǒng)標識符

platform 屬性返回一個表示系統(tǒng)標識符的字符串。語法格式如下:

sys.platform

操作系統(tǒng)及對應的 platform 值如下表所示:

在這里插入圖片描述

用 platform 屬性判斷當前系統(tǒng)平臺為哪個平臺,代碼如下:

import sys
if sys.platform == 'win32':
    print('當前是Windows平臺')
elif sys.platform == 'linux':
    print('當前是Linux平臺')
elif sys.platform == 'darwin':
    print('當前是Mac平臺')

筆者使用的是 Windows 平臺,故程序運行結果如下:

在這里插入圖片描述

到此這篇關于Python的常用基礎模塊之sys模塊詳解的文章就介紹到這了,更多相關Python的sys模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 想學畫畫?python滿足你!

    想學畫畫?python滿足你!

    這篇文章主要介紹了如何利用python畫畫,幫助大家更好的理解和使用python的turtle庫,感興趣的朋友可以了解下
    2020-12-12
  • 解決Pycharm模塊安裝慢問題的兩種方法

    解決Pycharm模塊安裝慢問題的兩種方法

    很多人在學習Python時,都會使用PyCharm這個編譯器,下面這篇文章主要給大家介紹了關于解決Pycharm模塊安裝慢問題的兩種方法,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • Python使用Streamlit快速創(chuàng)建儀表盤

    Python使用Streamlit快速創(chuàng)建儀表盤

    這篇文章主要為大家詳細介紹了Python如何使用Streamlit快速創(chuàng)建一個簡單的儀表盤,文中的示例代碼簡潔易懂,快跟隨小編一起來學習一下吧
    2023-09-09
  • Python實現(xiàn)對數(shù)坐標系繪制與自定義映射

    Python實現(xiàn)對數(shù)坐標系繪制與自定義映射

    這篇文章主要為大家學習介紹了如何利用Python實現(xiàn)對數(shù)坐標系繪制與坐標自定義映射,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2023-08-08
  • Python Opencv實戰(zhàn)之印章提取的實現(xiàn)

    Python Opencv實戰(zhàn)之印章提取的實現(xiàn)

    很多時候我們需要電子版的章,但有些同學并不會通過Photoshop摳圖獲取。因此本文將利用Python OpenCV來實現(xiàn)印章的提取,感興趣的可以了解一下
    2022-03-03
  • Python結合wxPython打造一個優(yōu)雅的圖片預覽工具

    Python結合wxPython打造一個優(yōu)雅的圖片預覽工具

    在日常工作中,我們經(jīng)常需要快速預覽圖片文件或剪貼板中的圖片,今天,小編將帶大家用 wxPython 開發(fā)一個簡潔實用的圖片預覽工具,感興趣的小伙伴可以了解下
    2025-12-12
  • 通過numba模塊給Python代碼提速的方法詳解

    通過numba模塊給Python代碼提速的方法詳解

    numba是Anaconda公司開發(fā)的針對Python的開源JIT編譯器,用于提供Python版CPU和GPU編程,速度比原生Python快數(shù)十倍。本文將詳細介紹一下numba是如何實現(xiàn)代碼提速的,需要的可以參考一下
    2022-01-01
  • python自動發(fā)送郵件腳本

    python自動發(fā)送郵件腳本

    這篇文章主要為大家詳細介紹了python自動發(fā)送郵件的腳本源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Python中os.walk用法使用小結

    Python中os.walk用法使用小結

    os.walk()是Python中用于遍歷目錄樹的強大函數(shù),本文就來詳細的介紹一下os.walk用法小結,感興趣的可以了解一下
    2025-12-12
  • 詳解Python?itertools模塊中starmap函數(shù)的應用

    詳解Python?itertools模塊中starmap函數(shù)的應用

    starmap是一個非常有用的函數(shù),它屬于itertools模塊中的一部分,本文將詳細介紹starmap函數(shù)的作用、用法以及實際應用場景,希望對大家有所幫助
    2024-03-03

最新評論

和龙市| 余庆县| 遂昌县| 鱼台县| 玉屏| 简阳市| 庆阳市| 清原| 开鲁县| 柳林县| 合水县| 普安县| 新和县| 鄂托克旗| 梅州市| 宝应县| 长武县| 龙井市| 静宁县| 垦利县| 仁寿县| 喜德县| 台江县| 马尔康县| 汶川县| 汝州市| 长垣县| 安平县| 酉阳| 贵州省| 开原市| 奉节县| 横峰县| 库车县| 九台市| 怀集县| 邳州市| 玛纳斯县| 静海县| 兖州市| 嫩江县|