一、模塊初識 便捷目錄: sys.path 獲取指定模塊搜索路徑的字元串集合(當前是sys) sys.argv 從外部程式向內部程式傳遞參數 sys.getdefaultencoding() 獲取當前系統編碼 sys.getfilesystemencoding()獲取文件系統使用編碼方式,Windo ...
一、模塊初識
便捷目錄:
sys.path 獲取指定模塊搜索路徑的字元串集合(當前是sys)
sys.argv 從外部程式向內部程式傳遞參數
sys.getdefaultencoding() 獲取當前系統編碼
sys.getfilesystemencoding()
獲取文件系統使用編碼方式,Windows下返回'mbcs',mac下返回'utf-8'.
sys模塊:
1.環境(安裝在了D:\\Anacinda3,python3.5)
2.sys模塊常見函數作用
(1) sys.path 獲取指定模塊搜索路徑的字元串集合(當前是sys)
1 #!/usr/bin/env python 2 #-*- Coding:utf-8 -*- 3 # Author:Eric.Shen 4 5 import sys 6 7 print(sys.path)sys.path
執行上述代碼得到當時我sys模塊的環境,pycharm下列印出絕對路徑,cmd下列印相對路徑
得到的結果
['D:\\Python_train\\day2',
'D:\\Python_train',
'D:\\Anaconda3\\python35.zip',
'D:\\Anaconda3\\DLLs',
'D:\\Anaconda3\\lib', #這裡存放標準庫
'D:\\Anaconda3',
'D:\\Anaconda3\\lib\\site-packages', #需要的第三方庫可以直接導入到這裡就可以使用了
'D:\\Anaconda3\\lib\\site-packages\\Sphinx-1.4.6-py3.5.egg',
'D:\\Anaconda3\\lib\\site-packages\\win32',
'D:\\Anaconda3\\lib\\site-packages\\win32\\lib',
'D:\\Anaconda3\\lib\\site-packages\\Pythonwin',
'D:\\Anaconda3\\lib\\site-packages\\setuptools-27.2.0-py3.5.egg']
(2)sys.argv 從外部程式向內部程式傳遞參數
1 #!/usr/bin/env python 2 #-*- Coding:utf-8 -*- 3 # Author:Eric.Shen 4 5 import sys 6 7 print(sys.argv) 8 print(sys.argv[0]) 9 print(sys.argv[1]) 10 print(sys.argv[2]) 11 print(sys.argv[3])sys.argv
從外部程式中傳遞參數給這個argv第一次返回在0位置上的test.py,第二次返回在1位置上的1,以此類推可以應用到測試的時候給程式傳遞參數就可以知道要執行什麼操作
在cmd里運行這個文件,同時給test傳遞三個參數,運行結果如下
(3)sys.getdefaultencoding() 獲取當前系統編碼
1 #!/usr/bin/env python 2 #-*- Coding:utf-8 -*- 3 # Author:Eric.Shen 4 5 import sys 6 7 encoding = sys.getdefaultencoding()#獲取系統當前編碼 8 print(encoding)sys.getdefaultencoding()
如上所述:獲取系統當前編碼,運行結果如下
(4)sys.getfilesystemencoding()
: 獲取文件系統使用編碼方式,Windows下返回'mbcs',mac下返回'utf-8'.
1 #!/usr/bin/env python 2 #-*- Coding:utf-8 -*- 3 # Author:Eric.Shen 4 5 import sys 6 encoding = sys.getfilesystemencoding()#獲取獲取文件系統使用編碼方式 7 print(encoding)sys.getfilesystemencoding()
執行結果如下
(5)sys.platform 獲取當前系統平臺
1 #!/usr/bin/env python 2 #-*- Coding:utf-8 -*- 3 # Author:Eric.Shen 4 5 import sys 6 7 print(sys.platform)#獲取當前系統平臺sys.platform
運行如下
(6)sys.stdin\stdout\stderr
stdin , stdout , 以及stderr 變數包含與標準I/O 流對應的流對象. 如果需要更好地控制輸出,而print 不能滿足你的要求, 它們就是你所需要的. 你也可以替換它們, 這時候你就可以重定向輸出和輸入到其它設備( device ), 或者以非標準的方式處理它們(括弧:基本用法沒有搞清除,日後補充)
1 #!/usr/bin/env python 2 #-*- Coding:utf-8 -*- 3 # Author:Eric.Shen 4 5 import sys 6 7 print(sys.stdin,"\n",sys.stdout,"\n",sys.stderr)sys.stdin\stdout\stderr
************************************************************分割線--其他日後補充*********************************************************
os模塊
1.os模塊就是對操作系統進行操作,使用該模塊必須先導入模塊:import os
1 #!/usr/bin/env python 2 #-*- Coding:utf-8 -*- 3 # Author:Eric.Shen 4 5 6 import os 7 8 os.system("dir")os.system
2.os.popen\mkdir
1 #!/usr/bin/env python 2 #-*- Coding:utf-8 -*- 3 # Author:Eric.Shen 4 5 6 import os 7 8 os.popen("dir")#跟系統進行交互,列印的是執行命令後記憶體的地址 9 res = os.popen("dir").read()#得到的地址在進行都一下賦值給res並列印處理就可以跟os.sysytem得到一樣的結果了 10 print(res) 11 12 os.mkdir("file")#在當前路徑下創建名字為file文件os.popen\mkdir
執行命令,獲得返回地址
執行命令,創建文件夾
***********************************************************************************************************************************************