python技巧之:sys模塊經常使用方法詳解

  1、sys的用處和場景python

  sys是system的縮寫,用來獲取操做系統和編譯器的一些配置,設置及操做面試

  如下幾個方法在工做面試都幾乎是必問的,不少人知其然不知因此然app

  如今深刻淺出的實踐並學習下這個工做中必用模塊的一些方法ide

  一、sys.argv():學習

  sys.argv就是一個從程序外部獲取參數的橋樑,這個「外部」很關鍵, 由於咱們從外部取得的參數能夠是多個編碼

  sys.argv其實能夠看做是一個列表,因此才能用[]下標的方式提取其中的元素。 其第一個元素是程序自己,隨後才依次是外部給予的參數spa

  如今來經過實踐來了解該方法操作系統

  (1)建立一個.py文件,寫入對應腳本blog

  


  (2)打開cmd,拖入.py文件,進行外部傳參操做ip

  sys.argv[0]下標爲0的第一參數返回的是程序自己路徑,後邊纔是外部給予的參數

  二、sys.path工做中必用的方法

  簡介:sys.path是對 Python 解釋器的系統環境參數的操做,動態的改變 Python 解釋器搜索路徑(劃重點)

  sys.path會返回一個路徑列表,sys.path[0]表示的是當前腳本運行目錄

  牢記知識點:python的兩種加載py文件方式,sys.path[0]產生的值會有差別,注意返回列表的第一個值,在工做中注意腳本運行環境,這是個坑

  方式一:直接運行代碼

  


  方式二:做爲模塊腳原本運行

  


  牢記知識點:在工做中,咱們導入模塊程序會在當前目錄下去搜尋咱們想要的模塊,但咱們時常要import導入引用第三方模塊,sys.path能夠自定義模塊路徑直接調用外部py文件,以便調用

  假設一個第三方demo.py文件臨時存放在E盤,它的功能就是打印輸出 helloworld

  sys.path.append("文件路徑") 直接指向搜尋路徑

  直接導入 xxx.py 便可

  3 、sys.stdin、sys.stdout、sys.stderr

  概念:這三個方法都是文件屬性,對應的方法能夠讀、寫、建立文件及編碼操做

  若是須要更好的控制輸出,而print不能知足需求,sys.stdout,sys.stdin,sys.stderr就是你須要的

  概念:一、Python程序的標準輸入/輸出/出錯流 定義在sys模塊中

  二、python啓動時自動與Shell環境中的標準輸入,輸出,出錯 關聯

  sys.stdin:全部交互式輸入,相似input的方法

  


  


  sys.stdin.readline 和input的區別

  能夠看到sys.stdin.readline()獲取所有的標準輸入包括換行符,在使用該方法時使用strip方法去掉換行符

  name = sys.stdin.readline().strip('\n')

  牢記知識點:sys.stdin.readline()的優點

  看上去sys.stdin.readline() 還不如input() 好用,它有一個input沒有的優點,該方法能夠直接限制輸出的字節長度,輸出的字節長度不會超過給定參數,這是在開發中較爲經常使用的功能之一。無錫作人流多少錢 http://www.ytsg029.com/

  


  sys.stdout:標準輸出流

  牢記知識點:sys.stdout:print(obj)其實就是調用sys.stdout.write(obj+’\n’),但sys.stdout涉及到一個重定向的功能

  print把字符打印在屏幕上是經過sys.stdout的默認輸出流,sys.stdout默認映射到打開腳本的窗口,咱們能夠經過修改sys.stdout的映射關係來改變print的輸出位置,方法以下:

  後續全部的print輸入都會寫入到 test.txt內,咱們同時想要恢復怎麼辦,方法以下:

  sys.stderr:返回錯誤的信息,python 程序內報錯信息都基於該方法如圖紅色報錯

  


  牢記知識點:該方法與sys.stdout同樣均可以重定向映射寫入其餘文件

  


  


  四、sys.exit():

  廢話很少說,來看python 源文檔

  源文檔暴露3個重要基礎知識:

  一、sys.exit()有本身的退出碼,參數爲空默認爲0

  二、參數能夠爲任何類型,而且僅僅會拋出SystemExit異常

  三、參數非0就拋出異常,該異常一般由try / finally 來清除操做

  (1)在代碼內添加sys.exit()代碼

  (2)cmd從外部執行該腳步並傳參,會發現再也不接受第二個參數

相關文章
相關標籤/搜索