一、模塊初識
便捷目錄:
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)
#!/usr/bin/env python
#-*- Coding:utf-8 -*-
# Author:Eric.Shen
import sys
print(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 從外部程序向內部程序傳遞參數
#!/usr/bin/env python
#-*- Coding:utf-8 -*-
# Author:Eric.Shen
import sys
print(sys.argv)
print(sys.argv[0])
print(sys.argv[1])
print(sys.argv[2])
print(sys.argv[3])
從外部程序中傳遞參數給這個argv第一次返回在0位置上的test.py,第二次返回在1位置上的1,以此類推可以應用到測試的時候給程序傳遞參數就可以知道要執行什麼操作
在cmd裏運行這個文件,同時給test傳遞三個參數,運行結果如下
(3)sys.getdefaultencoding() 獲取當前系統編碼
#!/usr/bin/env python
2 #-*- Coding:utf-8 -*-
3 # Author:Eric.Shen
4
5 import sys
6
7 encoding = sys.getdefaultencoding()#獲取系統當前編碼
8 print(encoding)
如上所述:獲取系統當前編碼,運行結果如下
(4)sys.getfilesystemencoding()
: 獲取文件系統使用編碼方式,Windows下返回'mbcs',mac下返回'utf-8'.
#!/usr/bin/env python
#-*- Coding:utf-8 -*-
# Author:Eric.Shen
import sys
encoding = sys.getfilesystemencoding()#獲取獲取文件系統使用編碼方式
print(encoding)
執行結果如下
(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)#獲取當前系統平臺
運行如下
(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)