Python::OS 模組 -- 程式引數

G8bao7發表於2014-09-26

from :http://www.cnblogs.com/now-fighting/p/3534847.html

os模組的簡介請參看 Python::OS 模組 -- 簡介

os模組的檔案和目錄操作 Python::OS 模組 -- 檔案和目錄操作

os模組的程式管理 Python::OS 模組 -- 程式管理

 

Python的os模組提供了對程式引數的設定,包括程式的執行環境,程式的執行許可權等資訊。

透過Python的os模組提供的介面,可以修改程式的環境變數,執行時的許可權設定,使用者ID,使用者組ID的修改以及程式ID,程式組ID,附加組ID以及程式的會話ID的修改和獲取,這些都是使用python進行系統程式設計的必要條件。

下面是對這些os模組提供的介面的介紹(僅限Unix平臺):

 

修改和獲取環境變數

環境變數關係到一個程式在執行時的行為,環境變數控制了程式的執行環境。Python的os模組提供了獲取環境變數和修改環境變數的能力。

os.environ    一個mapping物件,用於儲存環境變數和對應的值。該mapping物件在os模組被import的時候被載入,在這之後如果修改了環境變數,不會反映到該mapping物件,除非是透過os.environ直接修改。

os.getenv(varname[, value])    如果存在環境變數為varname的值,則返回該值,否則返回傳遞進去的value,如果value沒有指定,則返回None。

os.putenv(varname, value)    設定環境變數名為varname的值為value,這樣設定環境變數會影響以os.system(),os.popen()或os.fork()和os.execv()建立的子程式。

注意:當os.putenv()被支援,則直接修改os.environ會自動的轉換為呼叫os.putenv(),但是直接呼叫os.putenv()不會對os.environ產生影響,所以修改os.envron()的唯一方法是直接進行賦值操作。

os.unsetenv(varname)   刪除一個環境變數varname,該修改會影響建立的子程式的執行環境。

同樣的,當os.unsetenv()如果被支援,那麼當直接刪除os.environ中的環境變數的時候,會轉換為呼叫unsetenv()來進行操作,但是直接呼叫 unsetenv()不是更新os.envron的內容,所以修改os.environ的有效方法是直接修改該mapping物件。

獲取和修改使用者ID和組ID

os.getegid()    返回當前程式的有效使用者組ID

os.geteuid()    返回當前程式的有效使用者ID

os.getuid()    返回當前程式的使用者ID

 os.getgid()    返回當前程式的使用者組ID

 os.getgroups()    返回由當前程式附加的組ID編號組成的列表

 os.getresuid()    返回一個元組(ruid,euid,suid),表示當前程式的實際使用者ID,有效使用者ID和儲存的使用者ID

 os.getresgid()    返回一個元組(rgid, egid, sgid),表示當前程式的實際使用者組ID,有效的使用者組ID和儲存的使用者組ID

 os.setegid(egid)   設定當前程式的有效使用者組ID

 os.seteuid(euid)    設定當前程式的有效使用者ID

 os.setgroups(groups)    設定當前程式有關的附加組ID,引數groups必須是一個序列型別,而且每個引數必須是一個整數表示的組ID,該操作只能對超級使用者有效。

 os.setpgid(pid, pgrp)    設定程式的使用者組ID如果程式的ID為pid,所在用程式組ID為pgrp。

 os.setregid(rgid, egid)    設定當前程式的有效使用者組ID和實際使用者組ID

 os.setresgid(rgid,egid,sgid)    設定當前程式的實際組ID,有效組ID和儲存的使用者組ID。

 os.setresuid(ruid,euid,suid)    設定當前程式的實際使用者ID,有效使用者ID和儲存的使用者組ID。

 os.setreuid(ruid, euid)   設定當前程式的實際使用者ID和有效使用者ID

 

設定和獲取程式相關ID

os.getpgid(pid)    返回程式ID為pid的程式的組ID,如果pid=0,則返回當前呼叫程式的程式組ID

os.getpgrp()    返回當前程式的程式組ID

os.getpid()    返回當前程式的程式ID

os.getppid()    返回當前程式的父程式的ID

os.getsid(pid)    返回程式ID為pid的程式所在的會話的會話ID

os.setsid()    設定當前程式的會話ID

os.setuid(uid)    設定當前程式的使用者ID


其他系統處理函式 

os.ctermid()    返回當前程式的控制終端 

os.getlogin()   返回登入到系統的使用者名稱

os.strerror(code)    返回錯誤碼code對應的錯誤資訊,當錯誤資訊未知時,丟擲一個ValueError異常。

os.umask(mask)   設定當前程式的許可權掩碼,並且返回設定前的許可權掩碼。 

os.uname()   返回一個5元組,包括當前作業系統的資訊,該5元組包括:(sysname, nodename, release, version, machine)。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26250550/viewspace-1281882/,如需轉載,請註明出處,否則將追究法律責任。

相關文章