您好,登錄后才能下訂單哦!
本篇文章為大家展示了python的sys模塊如何使用,代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
當前使用的python版本: Python 2.7.6
1: sys是python自帶模塊.
利用 import 語句輸入sys 模塊。
當執行import sys后, python在 sys.path 變量中所列目錄中尋找 sys 模塊文件。然后運行這個模塊的主塊中的語句進行初始化,然后就可以使用模塊了 。
2: sys模塊常見函數
可以通過dir()方法查看模塊中可用的方法. 結果如下, 很多我都沒有用過, 所以只是簡單介紹幾個自己用過的方法.
$ 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 實現從程序外部向程序傳遞參數
sys.argv 變量是一個包含了命令行參數的字符串列表, 利用命令行想程序傳遞參數. 其中,腳本的名稱總是 sys.argv 列表的第一個參數。
(2) sys.path 包含輸入模塊的目錄名列表。
獲取指定模塊搜索路徑的字符串集合,可以將寫好的模塊放在得到的某個路徑下,就可以在程序中import時正確找到。在import導入module_name時,就是根據sys.path的路徑來搜索module.name,也可以自定義添加模塊路徑。
sys.path.append(“自定義模塊路徑”)
python學習網,大量的免費python學習視頻,歡迎在線學習!
(3) sys.exit([arg]) 程序中間的退出, arg=0為正常退出
一般情況下執行到主程序末尾,解釋器自動退出,但是如果需要中途退出程序,可以調用sys.exit函數,帶有一個可選的整數參數返回給調用它的程序,表示你可以在主程序中捕獲對sys.exit的調用。(0是正常退出,其他為異常)當然也可以用字符串參數,表示錯誤不成功的報錯信息。
(4) sys.modules
sys.modules是一個全局字典,該字典是python啟動后就加載在內存中。每當程序員導入新的模塊,sys.modules將自動記錄該模塊。當第二次再導入該模塊時,python會直接到字典中查找,從而加快了程序運行的速度。它擁有字典所擁有的一切方法.
(5) sys.getdefaultencoding() / sys.setdefaultencoding() / sys.getfilesystemencoding()
sys.getdefaultencoding()
獲取系統當前編碼,一般默認為ascii。
sys.setdefaultencoding()
設置系統默認編碼,執行dir(sys)時不會看到這個方法,在解釋器中執行不通過,可以先執行reload(sys),在執行 setdefaultencoding(‘utf8’),此時將系統默認編碼設置為utf8。(見設置系統默認編碼 )
sys.getfilesystemencoding()
獲取文件系統使用編碼方式,Windows下返回’mbcs’,mac下返回’utf-8’
(6) sys.stdin, sys.stdout, sys.stderr
stdin , stdout , 以及stderr 變量包含與標準I/O 流對應的流對象. 如果需要更好地控制輸出,而print 不能滿足你的要求, 它們就是你所需要的. 你也可以替換它們, 這時候你就可以重定向輸出和輸入到其它設備( device ), 或者以非標準的方式處理它們.
(7) sys.platform
獲取當前系統平臺. 如:win32、Linux等。
上述內容就是python的sys模塊如何使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。