本篇文章為大家展示了python的sys模塊如何使用,代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
當前使用的python版本: Python 2.7.6
1: sys是python自帶模塊.
利用 import 語句輸入sys 模塊。
當執(zhí)行import sys后, python在 sys.path 變量中所列目錄中尋找 sys 模塊文件。然后運行這個模塊的主塊中的語句進行初始化,然后就可以使用模塊了 。
2: sys模塊常見函數(shù)
可以通過dir()方法查看模塊中可用的方法. 結(jié)果如下, 很多我都沒有用過, 所以只是簡單介紹幾個自己用過的方法.
$ python Python 2.7.6 (default, Oct 26 2016, 20:30:19) [GCC 4.8.4] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> dir(sys) ['__displayhook__', '__doc__', '__excepthook__', '__name__', '__package__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_getframe', '_mercurial', '_multiarch', 'api_version', 'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dont_write_bytecode', 'exc_clear', 'exc_info', 'exc_type', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'float_repr_style', 'getcheckinterval', 'getdefaultencoding', 'getdlopenflags', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'gettrace', 'hexversion', 'long_info', 'maxint', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', 'py3kwarning', 'pydebug', 'setcheckinterval', 'setdlopenflags', 'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout', 'subversion', 'version', 'version_info', 'warnoptions']
(1) sys.argv 實現(xiàn)從程序外部向程序傳遞參數(shù)
sys.argv 變量是一個包含了命令行參數(shù)的字符串列表, 利用命令行想程序傳遞參數(shù). 其中,腳本的名稱總是 sys.argv 列表的第一個參數(shù)。
(2) sys.path 包含輸入模塊的目錄名列表。
獲取指定模塊搜索路徑的字符串集合,可以將寫好的模塊放在得到的某個路徑下,就可以在程序中import時正確找到。在import導(dǎo)入module_name時,就是根據(jù)sys.path的路徑來搜索module.name,也可以自定義添加模塊路徑。
sys.path.append(“自定義模塊路徑”)
python學習網(wǎng),大量的免費python學習視頻,歡迎在線學習!
(3) sys.exit([arg]) 程序中間的退出, arg=0為正常退出
一般情況下執(zhí)行到主程序末尾,解釋器自動退出,但是如果需要中途退出程序,可以調(diào)用sys.exit函數(shù),帶有一個可選的整數(shù)參數(shù)返回給調(diào)用它的程序,表示你可以在主程序中捕獲對sys.exit的調(diào)用。(0是正常退出,其他為異常)當然也可以用字符串參數(shù),表示錯誤不成功的報錯信息。
(4) sys.modules
sys.modules是一個全局字典,該字典是python啟動后就加載在內(nèi)存中。每當程序員導(dǎo)入新的模塊,sys.modules將自動記錄該模塊。當?shù)诙卧賹?dǎo)入該模塊時,python會直接到字典中查找,從而加快了程序運行的速度。它擁有字典所擁有的一切方法.
(5) sys.getdefaultencoding() / sys.setdefaultencoding() / sys.getfilesystemencoding()
sys.getdefaultencoding()
獲取系統(tǒng)當前編碼,一般默認為ascii。
sys.setdefaultencoding()
設(shè)置系統(tǒng)默認編碼,執(zhí)行dir(sys)時不會看到這個方法,在解釋器中執(zhí)行不通過,可以先執(zhí)行reload(sys),在執(zhí)行 setdefaultencoding(‘utf8’),此時將系統(tǒng)默認編碼設(shè)置為utf8。(見設(shè)置系統(tǒng)默認編碼 )
sys.getfilesystemencoding()
獲取文件系統(tǒng)使用編碼方式,Windows下返回’mbcs’,mac下返回’utf-8’
(6) sys.stdin, sys.stdout, sys.stderr
stdin , stdout , 以及stderr 變量包含與標準I/O 流對應(yīng)的流對象. 如果需要更好地控制輸出,而print 不能滿足你的要求, 它們就是你所需要的. 你也可以替換它們, 這時候你就可以重定向輸出和輸入到其它設(shè)備( device ), 或者以非標準的方式處理它們.
(7) sys.platform
獲取當前系統(tǒng)平臺. 如:win32、Linux等。
上述內(nèi)容就是python的sys模塊如何使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。