1. 程式人生 > >Python學習之OS庫

Python學習之OS庫

OS庫提供了使用各種作業系統功能的介面。

os.name返回當前作業系統名,定義了'posix','nt','mac','os2','ce','java'(我使用win7/python3.1,輸出的是nt。posix不知道是什麼系統,mac應該是Apple機吧,os2也不知道是什麼東東,ce應該是winCE吧,這樣的話,python應該支援向CE移植啊,偶自己試過,沒編譯成功,java估計是Sun開發的那個solari*系統)

os.environ返回一個mapping object包括當前系統及使用者的環境變數,格式為environ({變數名: 變數值, 變數名: 變數值……})。使用os.environ[變數名]可以直接得到相應變數值;也可以使用os.getenv(變數名)來獲得變數值。說明:當import os後,環境變數即被對映,如果在此期間,用其它方面修改環境(系統及使用者),os.environ值不會改變,除非直接修改os.environ的值。還有一個函式putenv(key, value).

os.getcwd()返回當前工作目錄。類似於linux中的pwd命令

os.chdir( path )改變當前工作目錄至path

os.fchdir( fd )不知道用途用法。(我的系統中沒有這個函式)

os.ctermid() Return the filename corresponding to the controlling terminal of the process.

os.getegid()返回當前程序(process)所屬的有效group id只有unix可用

os.geteuid()返回當前程序所屬的使用者ID(Unix)

os.getgid()返回當前程序所屬的真實組ID(real group id)

os.getgroups() Return list of supplemental group ids associated with the current process. Availability: Unix.

os.getlogin()返回當前登陸使用者名稱

os.getpgid( pid )Return the process group id of the process with process id pid. If pid is 0, the process group id of the current process is returned. Availability: Unix.

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

os.getpid()返回當前程序的PID,( Unix, Windows )

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

os.getuid()返回當前程序所屬使用者ID(Unix)

os.getenv( varname[, value] )如果存在則返回相應環境變數值,否則返回None

os.putenv( varname, value )設定一個環境變數,其值為value。所作的改變會影響到由os.system(), popen(),fork(), execv()等啟動的子程序。(Unix, Windows)在一些平臺如FreeBSD, Mac OS X上設定環境變數可能引起記憶體洩漏。如果系統支援putenv()函式,使用os.environ設定環境變數會自動通過呼叫putenv()函式實現相應功能。

os.setegid(egid)設定當前程序的有效group id(Unix)

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

os.setgid( gid )設定當前程序的組ID(group id)

os.setgroups( groups )

os.setpgrp()os.setpgid( pid, pgrp )os.setreuid( ruid, euid )os.setregid( rgid, egid )os.getsid(pid)os.setsid() os.setuid( uid )os.strerror( code )

os.umask( mask )設定當前的umask資料,返回先前的umask值(windows, unix )

os.uname()返回包含五個值的元組包含一些系統相關的資訊(sysname, nodename, release, version, machine).有些系統將nodename截斷為8個字元或leading component。想獲得hostname的最好方法是使用socket.gethostname()或者是socket.gethostbyaddr()(Unix)

os.unsetenv( varname )刪除環境變數varname。作出的改變會影響到os.system(), popen(), fork(), execv()啟動的子程序。如果支援unsetenv(),刪除os.environ中的專案,會自動呼叫unsetenv()完成任務,然而呼叫unsetenv()刪除,不會更新o.environ

os.fdopen( fd[, mode[, bufsize]])返回一個檔案物件[continue……]