一、sys的用處和場(chǎng)景
創(chuàng)新互聯(lián)建站是一家專業(yè)提供弋江企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為弋江眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。sys是system的縮寫,用來(lái)獲取操作系統(tǒng)和編譯器的一些配置,設(shè)置及操作
以下幾個(gè)方法在工作面試都幾乎是必問的,很多人知其然不知所以然
現(xiàn)在深入淺出的實(shí)踐并學(xué)習(xí)下這個(gè)工作中必用模塊的一些方法
1、sys.argv():
sys.argv就是一個(gè)從程序外部獲取參數(shù)的橋梁,這個(gè)“外部”很關(guān)鍵, 因?yàn)槲覀儚耐獠咳〉玫膮?shù)可以是多個(gè)
sys.argv其實(shí)可以看作是一個(gè)列表,所以才能用[]下標(biāo)的方式提取其中的元素。 其第一個(gè)元素是程序本身,隨后才依次是外部給予的參數(shù)
現(xiàn)在來(lái)通過(guò)實(shí)踐來(lái)了解該方法
(1)創(chuàng)建一個(gè).py文件,寫入對(duì)應(yīng)腳本
(2)打開cmd,拖入.py文件,進(jìn)行外部傳參操作
sys.argv[0]下標(biāo)為0的第一參數(shù)返回的是程序本身路徑,后邊才是外部給予的參數(shù)
2、sys.path工作中必用的方法
簡(jiǎn)介:sys.path是對(duì) Python 解釋器的系統(tǒng)環(huán)境參數(shù)的操作,動(dòng)態(tài)的改變 Python 解釋器搜索路徑(劃重點(diǎn))
sys.path會(huì)返回一個(gè)路徑列表,sys.path[0]表示的是當(dāng)前腳本運(yùn)行目錄
牢記知識(shí)點(diǎn):python的兩種加載py文件方式,sys.path[0]產(chǎn)生的值會(huì)有差異,注意返回列表的第一個(gè)值,在工作中注意腳本運(yùn)行環(huán)境,這是個(gè)坑
方式一:直接運(yùn)行代碼
方式二:作為模塊腳本來(lái)運(yùn)行
牢記知識(shí)點(diǎn):在工作中,我們導(dǎo)入模塊程序會(huì)在當(dāng)前目錄下去搜尋我們想要的模塊,但我們時(shí)常要import導(dǎo)入引用第三方模塊,sys.path可以自定義模塊路徑直接調(diào)用外部py文件,以便調(diào)用
假設(shè)一個(gè)第三方demo.py文件臨時(shí)存放在E盤,它的功能就是打印輸出 helloworld
sys.path.append("文件路徑") 直接指向搜尋路徑
直接導(dǎo)入 xxx.py 即可
3 、sys.stdin、sys.stdout、sys.stderr
概念:這三個(gè)方法都是文件屬性,對(duì)應(yīng)的方法可以讀、寫、創(chuàng)建文件及編碼操作
如果需要更好的控制輸出,而print不能滿足需求,sys.stdout,sys.stdin,sys.stderr就是你需要的
概念:1、Python程序的標(biāo)準(zhǔn)輸入/輸出/出錯(cuò)流 定義在sys模塊中
2、python啟動(dòng)時(shí)自動(dòng)與Shell環(huán)境中的標(biāo)準(zhǔn)輸入,輸出,出錯(cuò) 關(guān)聯(lián)
sys.stdin:所有交互式輸入,類似input的方法
sys.stdin.readline 和input的區(qū)別
可以看到sys.stdin.readline()獲取全部的標(biāo)準(zhǔn)輸入包括換行符,在使用該方法時(shí)使用strip方法去掉換行符
name = sys.stdin.readline().strip('\n')
牢記知識(shí)點(diǎn):sys.stdin.readline()的優(yōu)勢(shì)
看上去sys.stdin.readline() 還不如input() 好用,它有一個(gè)input沒有的優(yōu)勢(shì),該方法可以直接限制輸出的字節(jié)長(zhǎng)度,輸出的字節(jié)長(zhǎng)度不會(huì)超過(guò)給定參數(shù),這是在開發(fā)中較為常用的功能之一。無(wú)錫做人流多少錢 http://www.ytsg029.com/
sys.stdout:標(biāo)準(zhǔn)輸出流
牢記知識(shí)點(diǎn):sys.stdout:print(obj)其實(shí)就是調(diào)用sys.stdout.write(obj+’\n’),但sys.stdout涉及到一個(gè)重定向的功能
print把字符打印在屏幕上是通過(guò)sys.stdout的默認(rèn)輸出流,sys.stdout默認(rèn)映射到打開腳本的窗口,我們可以通過(guò)修改sys.stdout的映射關(guān)系來(lái)改變print的輸出位置,方法如下:
后續(xù)所有的print輸入都會(huì)寫入到 test.txt內(nèi),我們同時(shí)想要恢復(fù)怎么辦,方法如下:
sys.stderr:返回錯(cuò)誤的信息,python 程序內(nèi)報(bào)錯(cuò)信息都基于該方法如圖紅色報(bào)錯(cuò)
牢記知識(shí)點(diǎn):該方法與sys.stdout一樣都可以重定向映射寫入其他文件
4、sys.exit():
廢話不多說(shuō),來(lái)看python 源文檔
源文檔暴露3個(gè)重要基礎(chǔ)知識(shí):
1、sys.exit()有自己的退出碼,參數(shù)為空默認(rèn)為0
2、參數(shù)可以為任何類型,并且僅僅會(huì)拋出SystemExit異常
3、參數(shù)非0就拋出異常,該異常通常由try / finally 來(lái)清除操作
(1)在代碼內(nèi)添加sys.exit()代碼
(2)cmd從外部執(zhí)行該腳步并傳參,會(huì)發(fā)現(xiàn)不再接受第二個(gè)參數(shù)
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前題目:python技巧之:sys模塊常用方法詳解-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://www.rwnh.cn/article14/ccihge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站策劃、面包屑導(dǎo)航、網(wǎng)站營(yíng)銷、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容