標籤:定義 sys cmd 模組 path 列表 命令列 java_home 例子
一、sys模組
包含了系統的相關的功能。我們來學習sys.argv,它包含命令列參數。
例子:定義了一個add函數,用來實現兩個整數的相加。
#! coding=utf-8# usersys.pyimport sysdef add(a,b): print a+bprint sys.argvif len(sys.argv)<2: print "argv is lower 2"else: if sys.argv[1].startswith("-") and (len(sys.argv)==2): option=sys.argv[1][2:] if option=="help": print """this is my add,two parama a and b""" elif option=="version": print "v1.0" else: print "no this option" elif len(sys.argv)==3: try: a=int(sys.argv[1]) b=int(sys.argv[2]) add(a,b) except Exception ,e: print e else: print "parama is biger 3"
在cmd命令列下,運行sysuser.py。有以下幾種情況:
1、輸入命令:python sysuser.py
命令列參數只有1個,此時sys.argv=["sysuser.py"]. 列印“argv is lower 2”
2、輸入命令:python sysuser.py --help (或輸入命令:python sysuser.py --version)
命令列參數有2個,此時sys.argv=["sysuser.py","--help"]. 列印"""this is my add,two parama a and b"""
3、輸入命令:python sysuser.py 1 2
命令列參數有3個,此時sys.argv=["sysuser.py","1","2"]. 這時候做加法運算
4、其他輸入情況,將進行相應處理。
我們發現sys.argv是一個列表,並且把使用者輸入的每個參數都以字串的形式儲存為每一個元素。所以在處理資料的時候,需要進行資料類型轉換
二、os模組
這個模組包含普遍的作業系統功能。
1、os.remove()刪除一個檔案
import ospath="E:\\study\\test.txt"os.remove(path)
2、os.name擷取當前使用的平台,如果是windows,則返回:“nt”,如果是linux/unix,則返回:“posix”
import osprint os.name
3、os.getcwd()擷取當前工作的目錄路徑
import osprint os.getcwd()
4、os.getenv()擷取環境變數
import osprint os.getenv("JAVA_HOME")#擷取環境變數JAVA_HOME
結果:D:\Program Files\Java\jdk1.7.0_10
5、os.path.isfile() 和os.path.isdir()分別用來檢測所給路徑是檔案還是目錄
import osprint os.path.isdir("E:\\study\\")
結果:True
6、os.path.exists() 檢測所給路徑是否存在
import osprint os.path.exists("E:\\study\\")
7、os.path.split()用來將一個目錄分割成路徑和檔案名稱
import osprint os.path.split("E:\\study\\1.txt")
結果:(‘E:\\study‘, ‘1.txt‘)
8、os.sep 擷取作業系統的檔案目錄分割符,如Windows為\
9 、os.linesep擷取行終止符
import osprint "ahhaha"+os.linesep+"jsjssj"print "ahhaha"+"jsjssj"
結果:
ahhaha
jsjssj
ahhahajsjssj
(python) 標準模組sys和os的使用