Python sys模組總結

2021-08-31 10:00:03 字數 2666 閱讀 6403

1.sys.argv:實現從程式外部向程式內部傳遞引數

import sys

print (sys.argv)

print ("取第乙個值為:",end="")

print (sys.argv[0])

2.sys.exit():退出程式執行

import sys

for i in range(5):

print (i)

if i==2:

"當i符合條件時,結束程式執行"

3.sys.path:獲取指定模組搜尋路徑的字串集合,可以將寫好的模組放在得到的某個路徑下,就可以在程式中import時正確找到

>>> import sys

>>> sys.path

['', 'e:\\', 'c:\\users\\zhigang\\desktop', 'd:\\python3\\python36.zip', 'd:\\python3\\dlls', 'd:\\python3\\lib', 'd:\\python3', 'd:\\python3\\lib\\site-packages']

4.sys.platform:獲取當前系統平台

>>> import sys

>>> sys.platform

'win32'

5.sys.getfilesystemencoding():獲取檔案系統使用編碼方式

>>> sys.getfilesystemencoding()

'utf-8'

6.sys.getdefaultencoding(): 獲取系統當前編碼

>>> sys.getdefaultencoding()

'utf-8'

7.sys.setdefaultencoding():設定系統預設編碼

py2中的用法:

py3執行以上**會報錯:

解決辦法:

import sys,importlib

print (sys.getdefaultencoding())

importlib.reload(sys)

但py3中已遺棄sys.setdefaultencoding(),仍會報錯:

sys.stdin:標準化輸入,等同於input

使用sys.stdin.readline()可以實現標準輸入,其中預設輸入的格式是字串,如果是int,float型別則需要強制轉換

sys.stdout和sys.stderr:標準輸出和標準錯誤輸出,同print等價

import sys

sys.stdout.write("hello world!")

sys.stderr.write("hello world!")   #再pycharm中顯示為紅色字型

9.重定向到檔案

import sys

fp=open("test.txt","w")

sys.stdout=fp

print ("光榮之路")

10.同時重定向到控制台和檔案

import sys

class redirection(object):

def __init__(self, content):

self.content = content

self.console=sys.stdout

def to_console(self):

"標準輸出重定向至控制台"

sys.stdout=self.console

print (self.content)

def to_file(self,file_path="out.txt"):

"標準輸出重定向至檔案"

fp = open(file_path, "w")

sys.stdout = fp

print(self.content)

if __name__=="__main__":

content="光榮之路"

rs=redirection(content)

rs.to_console()

rs.to_file()

python sys模組(基礎篇)

我們可以程式中定義一次函式而實現 重用。我們可以使用模組,從而實現在其他程式中重用很多函式。模組基本上就是乙個包含了所有你定義的函式和變數的檔案。為了在其他程式中重用模組,模組的檔名必須以.py為副檔名。模組可以從其他程式 匯入 以便利用它的功能。這也是我們使用python標準庫的方法。using ...

Python sys模組常用方法 (六)

這個模組在處理編碼和輸入引數以及從定向輸入輸出的時候用的比較多。只記錄一下自己用到的或者見到比較多的 import sys sys.argv 允許指令碼時的輸入引數,例如 python test.py 1 2 argv 0 test.py,argv 1 1,argv 2 2 sys.exit 退出程...

python sys模組之獲取引數

什麼是sys模組?sys模組 全稱system,指的是直譯器 os指的是作業系統 常用操作,用於接收系統作業系統呼叫直譯器傳入的引數 1 sys.ar 獲取指令碼傳遞的所有引數,返回乙個列表。列表中的所有元素均為指令碼傳遞的引數。sys.ar 0 指令碼傳遞的第乙個引數,固定為指令碼名稱,可以通過次...