python常用模塊_第1頁
python常用模塊_第2頁
python常用模塊_第3頁
python常用模塊_第4頁
python常用模塊_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、python 中 os 模塊中文幫助文檔文章分類:Python 編程python 中 os 模塊中文幫助文檔翻譯者:butalnd 翻譯于 2010.1.72010.1.8,個人博客:http:/ unix 中的函數(shù)大部分都被略過,翻譯主要針對 WINDOWS,翻譯速度很快,其中很多不足之處請多多包涵。這個模塊提供了一個輕便的方法使用要依賴操作系統(tǒng)的功能。如何你只是想讀或?qū)懳募埵褂?open(),如果你想操作文件路徑,請使用 os.path 模塊,如果你想在命令行中,讀入所有文件的所有行,請使用fileinput 模塊。使用 tempfile 模塊創(chuàng)建臨時文件和文件夾,更高級的文件和文件夾

2、處理,請使用 shutil模塊。os.error內(nèi)建 OSErrorexception 的別名。導入依賴操作系統(tǒng)模塊的名字。下面是目前被注冊的名字:posix,nt,mac,os2,ce,java,riscos.下面的 function 和 data 項是和當前的進程和用戶有關os.environ一個 mapping 對象表示環(huán)境。例如,environHOME,表示的你自己 home 文件夾的路徑(某些平臺支持,windows 不支持),它與 C 中的 getenv(HOME)一致。這個 mapping 對象在 os 模塊第一次導入時被創(chuàng)建,一般在 python 啟動時,作為 s

3、ite.py 處理過程的一部分。在這一次之后改變 environment 不影響 os.environ,除非直接修改 os.environ.注:putenv()不會直接改變 os.environ,所以最好是修改 os.environ注:在一些平臺上,包括 FreeBSD 和 MacOSX,修改 environ 會導致內(nèi)存泄露。參考 putenv()的系統(tǒng)文檔。如果沒有提供 putenv(),mapping 的修改版本傳遞給合適的創(chuàng)建過程函數(shù),將導致子過程使用一個修改的 environment。如果這個平臺支持 unsetenv()函數(shù), 你可以刪除 mapping中的項目。 當從 os.env

4、iron使用 pop()或 clear()刪除一個項目時,unsetenv()會自動被調(diào)用(版本 2.6)。os.chdir(path)os.fchdir(fd)os.getcwd()這些函數(shù)在 Files 和 Directories 中。os.ctermid()返回進程控制終端的文件名。在 unix 中有效,請查看相關文檔.oos.getegid()返回當前進程有效的 group 的 id。對應于當前進程的可執(zhí)行文件的setid的 bit 位。在 unix中有效,請查看相關文檔.oos.geteuid()返回當前進程有效的 user 的 id。在 unix 中有效,請查看相關文檔.。os.g

5、etgid()返回當前進程當前 group 的 id。在 unix 中有效,請查看相關文檔.。os.getgroups()返回當前進程支持的 groups 的 id 列表。在 unix 中有效,請查看相關文檔.。os.getlogin()返回進程控制終端登陸用戶的名字。在大多情況下它比使用 environment 變量 LOGNAME來得到用戶名,或使用 pwd.getpwuid(os.getuid()0得到當前有效用戶 id 的登陸名更為有效。在 unix 中有效,請查看相關文檔.。os.getpgid(pid)返回 pid 進程的 groupid.如果 pid 為 0,返回當前進程的 gr

6、oupid。在 unix 中有效,請查看相關文檔.oos.getpgrp()返回當前進程組的 id.在 unix 中有效,請查看相關文檔.。os.getpid()返回當前進程的 id.在 unix,Windows 中有效。os.getppid()返回當前父進程的 id.在 unix 中有效,請查看相關文檔.。os.getuid()返回當前當前進程用戶的 id.在 unix 中有效,請查看相關文檔.oos.getenv(varname,value)返回 environment 變量 varname 的值,如果 value 不存在,默認為 None.在大多版本的 unix,Windows中有效。o

7、s.putenv(varname,value)設置 varname 環(huán)境變量為 value 值。此改變影響以 os.system(),popen()或 fork()和 execv()啟動的子進程。在大多版本的 unix,Windows 中有效。當支持 putenv()時,在 os.environ 分配項目時,自動調(diào)用合適的 putenv()。然而,調(diào)用 putenv()不會更新 os.environ,所以直接設置 os.environ 的項。os.setegid(egid)設置當前進程有效組的 id.在 unix 中有效,請查看相關文檔.oos.seteuid(euid)設置當前進程有效用戶的

8、 id.在 unix 中有效,請查看相關文檔.oos.setgid(gid)設置當前進程組的 id.在 unix 中有效,請查看相關文檔.oos.setgroups(groups)設置當前進程支持的 groupsid 列表。groups 必須是個列表,每個元素必須是個整數(shù),這個操作只對超級用戶有效,在 unix 中有效,請查看相關文檔.。os.setpgrp()調(diào)用 system 的 setpgrp()或 setpgrp(0,0)(),依賴于使用的是哪個版本的 system.請查看 Unix手冊.在 unix 中有效,請查看相關文檔.。os.setpgid(pid,pgrp)調(diào)用 system

9、 的 setpgid()設置 pid 進程 group 的 id 為 pgrp.請查看 Unix 手冊.在 unix 中有效,請查看相關文檔.oos.setreuid(ruid,euid)設置當前 process 當前和有效的用戶 id.在 unix 中有效,請查看相關文檔.。os.setregid(rgid,egid)設置當前 process 當前和有效的組 id.在 unix 中有效,請查看相關文檔.。os.getsid(pid)調(diào)用 system 的 getsid().請查看 Unix 手冊.在 unix 中有效,請查看相關文檔.。os.setsid()調(diào)用 system 的 setsi

10、d().請查看 Unix 手冊.在 unix 中有效,請查看相關文檔.。os.setuid(uid)設置當前 userid.在 unix 中有效,請查看相關文檔.。os.strerror(code)返回程序中錯誤 code 的錯誤信息。在某些平臺上,當給一個未知的 code,strerror()返回 NULL,將拋出ValueError。在 unix,Windows 中有效。os.umask(mask)設置當前權限掩碼,同時返回先前的權限掩碼。在 unix,Windows 中有效。os.fdopen(fd,mode,bufsize)返回一個文件描述符號為 fd 的打開的文件對象。mode 和

11、bufsize 參數(shù),和內(nèi)建的 open()函數(shù)是同一個意思。在 unix,Windows 中有效。mode 必須以r,W,或者a開頭,否則拋出 ValueError.以a開頭的 mode,文件描述符中 O_APPEND 位已設置.os.popen(command,mode,bufsize)給或從一個 command 打開一個管理。返回一個打開的連接到管道文件對象,文件對象可以讀或?qū)?,在于模式是r(默認)或 W,bufsize 參數(shù),和內(nèi)建的 open()函數(shù)是同一個意思。command 返回的狀態(tài)(在 wait()函數(shù)中編碼)和調(diào)用文件對象的 close()返回值一樣,除非返回值是 0(無錯

12、誤終止),返回 None.在 unix,Windows 中有效。在 2.6 版本中已拋棄.使用 subprocess 模塊.os.tmpfile()返回一個打開的模式為(w+b)的文件對象.這文件對象沒有文件夾入口, 沒有文件描述符,將會自動刪除.在 unix,Windows 中有效。從 version2.6 起:所有的 popen*()函數(shù)已拋棄.使用 subprocess 模塊.os.popen2(cmd,mode,bufsize)os.popen3(cmd,mode,bufsize)os.popen4(cmd,mode,bufsize)16.1.3. 文件描述符操作這些函數(shù)操作使用文件描

13、述符引用的 I/Ostream。文件描述符是與當前進程打開的文件相對應的一些小整數(shù).例如標準輸入的通常文件描述符中 0,標準輸出是 1,標準錯誤是 2.進程打開的更多文件將被分配為 3,4,5,等.這“文件描述符”有一點迷惑性;在 Unix 平臺上,socket 和 pipe 通常也使用文件描述符引用.os.close(fd)關閉文件描述符 fd.在 unix,Windows 中有效。這函數(shù)是為低層的 I/O 服務的,應用在 os.open()或 pipe()返回的文件描述符上。關閉一個由內(nèi)建函數(shù) open()或 popen()或 fdopen()打開的文件對象,使用 close()方法。os

14、.closerange(fd_low,fd_high)關閉從 fd_low(包含)到 fd_high(不包含)所有的文件描述符,忽略錯誤。在 unix,Windows中有效。等同于:forfdinxrange(fd_low,fd_high):try:os.close(fd)exceptOSError:passos.dup(fd)返回文件描述符 fd 的 cope.在 unix,Windows 中有效。os.dup2(fd,fd2)復制文件描述符 fd 到 fd2,如果有需要首先關閉 fd2.在 unix,Windows 中有效。os.fchmod(fd,mode)改變文件描述符為 fd 的文件

15、mode為 mode.查看 chmod()文檔中 mode 的值.在 unix 中有效, 請查看相關文檔.oversion2.6 中新增.os.fchown(fd,uid,gid)改變文件描述符為 fd 的文件的所有者和 group 的 id 為 uid 和 gid.如果不想它們中的一個,就設置為-1.在 unix 中有效,請查看相關文檔.。version2.6 中新增.os.fdatasync(fd)強制將文件描述符為 fd 的文件寫入硬盤.不強制更新 metadata.在 unix 中有效,請查看相關文檔.。注:在 MacOS 中無效.os.fpathconf(fd,name)返回一個打開

16、的文件的系統(tǒng)配置信息。name 為檢索的系統(tǒng)配置的值,它也許是一個定義系統(tǒng)值的字符串,這些名字在很多標準中指定(POSIX.1,Unix95,Unix98,和其它)。一些平臺也定義了一些額外的名字。這些名字在主操作系統(tǒng)上 pathconf_names 的字典中。對于不在 pathconf_names 中的配置變量,傳遞一個數(shù)字作為名字,也是可以接受的。在 unix 中有效,請查看相關文檔.o如果 name 是一個字符串或者未知的,將拋出 ValueError。如果 name 是一個特別的值,在系統(tǒng)上不支持,即使它包含在 pathconf_names 中,將會拋出錯誤數(shù)字為 errno.EINV

17、AL 的OSError。os.fstat(fd)返回文件描述符 fd 的狀態(tài),像 stat()。在 unix,Windows 中有效。os.fstatvfs(fd)返回包含文件描述符 fd 的文件的文件系統(tǒng)的信息,像 statvfs().在 unix 中有效,請查看相關文檔.oos.fsync(fd)強制將文件描述符為 fd 的文件寫入硬盤.在 Unix,將調(diào)用 fsync()函數(shù);在 Windows,調(diào)用_commit()函數(shù).如果你準備操作一個 Python 文件又象 f,首先 f.flush(),然后 os.fsync(f.fileno(),確保與 f 相關的所有內(nèi)存都寫入了硬盤.在 u

18、nix,Windows 中有效。os.ftruncate(fd,length)裁剪文件描述符 fd 對應的文件,所以它最大不能超過文件大小.在 unix 中有效,請查看相關文檔.oos.isatty(fd)如果文件描述符 fd 是打開的,同時與 tty(-like)設備相連,則返回 true,否則 False.在 unix 中有效,請查看相關文檔.oos.lseek(fd,pos,how)設置文件描述符 fd 當前位置為 pos,how 方式修改:SEEK_SET 或者 0 設置從文件開始的計算的pos;SEEK_CUR 或者 1 則從當前位置計算;os.SEEK_END 或者 2 則從文件尾

19、部開始在 unix,Windows中有效。os.open(file,flags,mode)打開 file 同時根據(jù) flags 設置變量 flags,如果有 mode,則設置它的 mode.默認的 mode 是 0777(八進制),當前掩碼值是 firstmaskedout.返回剛打開的文件描述符.在 unix,Windows 中有效。flag 和 mode 值,請查看 C 運行時文檔;flag 常數(shù)(像 O_RDONLYandO_WRONLY)在這個模塊中也定義了(在下面).注:這函數(shù)是打算為低層 I/O 服務的.正常的使用,使用內(nèi)建函數(shù) open(),返回 read()和 write()等

20、方法創(chuàng)建的文件對象.包裝文件描述符為“文件對象”,使用 fdopen().os.openpty()在一些 Unix 平臺上有效,請查看相關文檔os.pipe()創(chuàng)建一個管道.返回一對文件描述符(r,w)分別為讀和寫.在 unix,Windows 中有效。os.read(fd,n)從文件描述符 fd 中讀取最多 n 個字節(jié).返回包含讀取字節(jié)的 string.文件描述符 fd 對應文件已達到結(jié)尾,返回一個空 string.在 unix,Windows 中有效。注:這函數(shù)是打算為低層 I/O 服務的, 同時必須應用在 os.open()或者 pipe()函數(shù)返回的文件描述符.讀取內(nèi)建函數(shù)open()

21、或者 bypopen()或者fdopen(),或者 sys.stdin返回的一個“文件對象“,使用它的read()或者 readline()方法.os.tcgetpgrp(fd)在 unix 中有效,請查看相關文檔os.tcsetpgrp(fd,pg)在 unix 中有效,請查看相關文檔os.ttyname(fd)在 unix 中有效,請查看相關文檔 os.write(fd,str)寫入字符串到文件描述符 fd 中.返回實際寫入的字符串長度.在 unix,Windows 中有效。注:這函數(shù)是打算為低層 I/O 服務的, 同時必須應用在 os.open()或者 pipe()函數(shù)返回的文件描述符.

22、讀取內(nèi)建函數(shù)open()或者 bypopen()或者fdopen(),或者 sys.stdin返回的一個“文件對象“,使用它的read()或者 readline()方法.下面的常數(shù)是open()函數(shù)的flags參數(shù)選項.它們可以使用bitwise合并或者operator.它們中的一些常數(shù)并不是在所有平臺都有效.它們更多使用請查看相關資料,在 unix 上參考open(2)手冊頁面,windows 上 http:/ UnixandWindows 上有效.os.O_DSYNCos.O_RSYNCos.O_SYNCos.O_NDELAYos.O_NONBLOCKos.O_NOCTTYos.O_SHL

23、OCKos.O_EXLOCK 這些常數(shù)僅在 Unix 上有效.os.O_BINARYos.O_NOINHERITos.O_SHORT_LIVEDos.O_TEMPORARYos.O_RANDOMos.O_SEQUENTIALos.O_TEXT 這些常數(shù)僅在 Windows 上有效.os.O_ASYNCos.O_DIRECTos.O_DIRECTORYos.O_NOFOLLOWos.O_NOATIME這些常數(shù)是 GNU 擴展,如果沒有在 C 庫聲明剛沒有.os.SEEK_SETos.SEEK_CURos.SEEK_ENDlseek()函數(shù)的參數(shù).它們的值分別是 0,1,和 2.在 Unixand

24、Windows 上有效.版本 2.5 新增.16.1.4. 文件和文件夾 os.access(path,mode)使用現(xiàn)在的 uid/gid 嘗試訪問 path.注大部分操作使用有效的 uid/gid,因此運行環(huán)境可以在suid/sgid 環(huán)境嘗試,如果用戶有權訪問 path.mode 為 F_OK,測試存在的 path,或者它可以是包含 R_OK,W_OK 和 X_OK 或者 R_OK,W_OK 和 X_OK 其中之一或者更多.如果允許訪問返回 True,否則返回 False.查看 Unix 手冊 access(2)獲取更多信息.在 unix,Windows 中有效。注:使用 access(

25、法測試用戶是否授權.在實際使用 open()打開一個文件前測試會創(chuàng)建一個安全漏洞前,因為用戶會利用這短暫時間在檢測和打開這個文件去修改它注:即使 access(欣明它將 succeed,1I/O 操作也可能會失敗,如網(wǎng)絡文件系統(tǒng).os.F_OK作為 access()的 mode 參數(shù),測試 path 是否存在.os.R_OK包含在 access()的 mode 參數(shù)中,測試 path 是否可讀.os.W_OK包含在 access()的 mode 參數(shù)中,測試 path 是否可寫.os.X_OK包含在 access()的 mode 參數(shù)中,測試 path 是否可執(zhí)行.os.chdir(path)

26、改變當前工作目錄.在 unix,Windows 中有效。os.fchdir(fd)在 unix 中有效,請查看相關文檔.。os.getcwd()返回當前工作目錄的字符串,在 unix,Windows 中有效。os.getcwdu()返回一個當前工作目錄的 Unicode 對象.在 unix,Windows 中有效。os.chflags(path,flags)在 unix 中有效,請查看相關文檔.。os.chroot(path)在 unix 中有效,請查看相關文檔os.chmod(path,mode)改變 path 的 mode 到數(shù)字 mode.mode 為下面中的一個(在 stat 模塊中定

27、義)或者 bitwise 或者它們的組合?stat.S_ISUID?stat.S_ISGID?stat.S_ENFMT?stat.S_ISVTX?stat.S_IREAD?stat.S_IWRITE?stat.S_IEXEC?stat.S_IRWXU?stat.S_IRUSR?stat.S_IWUSR?stat.S_IXUSR?stat.S_IRWXG?stat.S_IRGRP?stat.S_IWGRP?stat.S_IXGRP?stat.S_IRWXO?stat.S_IROTH?stat.S_IWOTH?stat.S_IXOTH在 unix,Windows 中有效。注:盡管 Windows

28、支持 chmod(),你只可以使用它設置只讀 flag(通過 stat.S_IWRITE 和stat.S_IREAD 常數(shù)或者一個相對應的整數(shù))。所有其它的 bits 都忽如了.os.chown(path,uid,gid)在 unix 中有效,請查看相關文檔.。os.lchflags(path,flags)在 unix 中有效,請查看相關文檔.。新增 version2.6.os.lchmod(path,mode)在 unix 中有效,請查看相關文檔.。新增 version2.6.os.lchown(path,uid,gid)在 unix 中有效,請查看相關文檔.。新增 version2.3.o

29、s.link(source,link_name)在 unix 中有效,請查看相關文檔.。os.listdir(path)返回 path 指定的文件夾包含的文件或文件夾的名字的列表.這個列表以字母順序.它不包括.和.即使它在文件夾中.在 unix,Windows 中有效。Changedinversion2.3:在 WindowsNT/2k/XP 和 Unix,如果文件夾是一個 Unicodeobject,結(jié)果將是Unicodeobjects 列表.不能解碼的文件名將仍然作為 stringobjects 返回.os.lstat(path)像 stat(),但是沒有符號鏈接.這是 stat()的別名

30、在某些平臺上,例如 Windows.os.mkfifo(path,mode)在 unix 中有效,請查看相關文檔.。os.mknod(filename,mode=0600,device)創(chuàng)建一個名為 filename 文件系統(tǒng)節(jié)點(文件,設備特別文件或者命名 pipe)。mode 指定創(chuàng)建或使用節(jié)點的權限,組合(或者 bitwise)stat.S_IFREG,stat.S_IFCHR,stat.S_IFBLK,和stat.S_IFIFO(這些常數(shù)在 stat 模塊).對于 stat.S_IFCHR 和 stat.S_IFBLK,設備定義了最新創(chuàng)建的設備特殊文件(可能使用 os.makedev(

31、),其它都將忽略.新增 version2.3.os.major(device)從原始的設備號中提取設備 major 號碼(使用 stat 中的 st_dev 或者 st_rdevfield).新增 version2.3.os.minor(device)從原始的設備號中提取設備 minor 號碼(使用 stat 中的 st_dev 或者 st_rdevfield).新增 version2.3.os.makedev(major,minor)以 major 和 minor 設備號組成一個原始設備號.新增 version2.3.os.mkdir(path,mode)以數(shù)字 mode 的 mode 創(chuàng)建

32、一個名為 path 的文件夾.默認的 mode 是 0777(八進制).在有些平臺上,mode 是忽略的.當使用時。這當前的掩碼值是 firstmaskedout.在 unix,Windows 中有效。也可以創(chuàng)建臨時文件夾;查看 tempfile 模塊 tempfile.mkdtemp()函數(shù).os.makedirs(path,mode)遞歸文件夾創(chuàng)建函數(shù)。像 mkdir(),但創(chuàng)建的所有 intermediate-level 文件夾需要包含子文件夾拋出一個 errorexception 如果子文件夾已經(jīng)存在或者不能創(chuàng)建.默認的 mode 是 0777(八進制).在有些平臺上,mode 是忽略

33、的.當使用時。這當前的掩碼值是 firstmaskedout。makedirs()變得迷惑如果路徑元素包含 os.pardir.現(xiàn)在可以正確處理 UNC 路徑.os.pathconf(path,name)在 unix 中有效,請查看相關文檔.。os.pathconf_names在 unix 中有效,請查看相關文檔.。os.readlink(path)在 unix 中有效,請查看相關文檔.。os.remove(path)刪除路徑為path的文件.如果path是一個文件夾, 將拋出OSError;查看下面的rmdir()刪除一個directory.這和下面的unlink()函數(shù)文檔是一樣的.在Wi

34、ndows,嘗試刪除一個正在使用的文件將拋出一個exception;在 Unix,directory 入口會被刪除,但分配給文件的存儲是無效的,直到原來的文件不再使用.在unix,Windows 中有效。os.removedirs(path)遞歸刪除 directorie.像 rmdir(),如果子文件夾成功刪除,removedirs()才嘗試它們的父文件夾,直到拋出一個 error(它基本上被忽略,因為它一般意味著你文件夾不為空).例如,os.removedirs(foo/bar/baz)將首先刪除foo/bar/baz,然后刪除foo/bar和foo如果它們是空的.如果子文件夾不能被成功刪

35、除,將拋出 OSError.新增 version1.5.2.os.rename(src,dst)重命名 file或者 directorysrc 到 dst.如果 dst 是一個存在的 directory,將拋出 OSError.在 Unix,如果 dst 在存且是一個 file,如果用戶有權限的話,它將被安靜的替換.操作將會失敗在某些Unix 中如果 src 和 dst 在不同的文件系統(tǒng)中.如果成功,這命名操作將會是一個原子操作(這是 POSIX需要).在 Windows 上,如果 dst 已經(jīng)存在,將拋出 OSError,即使它是一個文件.在 unix,Windows 中有效。os.rena

36、mes(old,new)遞歸重命名文件夾或者文件。像 rename()新增 version1.5.2.os.rmdir(path)刪除 path 文件夾.僅當這文件夾是空的才可以,否則,拋出 OSError.要刪除整個文件夾樹可以使用 shutil.rmtree().在 unix,Windows 中有效。os.stat(path)執(zhí)行一個 stat()系統(tǒng)調(diào)用在給定的 path 上.返回值是一個對象,屬性與 stat 結(jié)構(gòu)成員有關st_mode(保護位),st_ino(inodenumber),st_dev(device),st_nlink(numberofhardlinks),st_uid(

37、所有用戶的 id),st_gid(所有者 groupid),st_size(文件大小,以位為單位),st_atime(最近訪問的時間),st_mtime(最近修改的時間),st_ctime(依賴于平臺;在 Unix 上是 metadata 最近改變的時間或者在 Windows 上是創(chuàng)建時間):importosstatinfo=os.stat(somefile.txt)statinfo(33188,422511L,769L,1,1032,100,926L,1105022698,1105022732,1105022732)statinfo.st_size926L如果 stat_float_time

38、s()返回 True,time 值是 floats,以 second 進行計算.一秒的小數(shù)部分也會顯示出來,如果系統(tǒng)支持.在 MacOS,時間常常是 floats.查看 stat_float_times()獲取更多信息.在一些 Unix 系統(tǒng)上(例如 Linux),下面的屬性也許是有效的:st_blocks(為文件分配了多少塊),st_blksize(文件系統(tǒng) blocksize),st_rdev(設備型號如果是一個 inode 設備).st_flags(用戶為文件定義的 flags).在 unix,Windows 中有效。os.stat_float_times(newvalue)決定 sta

39、t_result 是否以 float 對象顯示時間戳os.statvfs(path)在 unix 中有效,請查看相關文檔.。os.symlink(source,link_name)在 unix 中有效,請查看相關文檔.。os.tempnam(dir,prefix)為創(chuàng)建一個臨時文件返回一個唯一的 path。在 Windows 使用 TMP.依賴于使用的 C 庫;使用 tempnam()對于 symlink 攻擊是一個漏洞;考慮使用 tmpfile()代替.在 unix,Windows 中有效。os.tmpnam()為創(chuàng)建一個臨時文件返回一個唯一的 path.Warning:使用 tempnam

40、()對于 symlink 攻擊是一個漏洞;考慮使用 tmp 巾 le()代替.在 unix,Windows 中有效。os.TMP_MAXtmpnam()將產(chǎn)生唯一名字的最大數(shù)值.os.unlink(path)刪除 file 路徑.與 remove()相同;在 unix,Windows 中有效。os.utime(path,times)返回指定的 path 文件的訪問和修改的時間。如果時間是 None,則文件的訪問和修改設為當前時間。否則,時間是一個 2-tuple 數(shù)字,(atime,mtime)用來分別作為訪問和修改的時間.在 unix,Windows 中有效。os.walk(top,topd

41、own=True,onerror=None,followlinks=False)輸出在文件夾中的文件名通過在樹中游走,向上或者向下.在根目錄下的每一個文件夾(包含它自己),產(chǎn)生 3-tuple(dirpath,dirnames,filenames)【文件夾路徑,文件夾名字,文件名】.dirpath 是一個字符串,directory 的路徑.dirnames 在 dirpath 中子文件夾的列表(不包括.).filenames文件是在 dirpath 不包含子文件夾的文件名的列表.注:列表中的 names 不包含 path.為獲得 dirpath 中的一個文件或者文件夾的完整路徑(以頂目錄開始)

42、或者,操作 os.path.join(dirpath,name).如果 optional 參數(shù) topdown 為 True 或者 not 指定,一個 directory 的 3-tuple 將比它的任何子文件夾的3-tuple 先產(chǎn)生(directories自上而下).如果 topdown 為 False,一個 directory 的 3-tuple 將比它的任何子文件夾的 3-tuple 后產(chǎn)生(directories 自下而上)。當 topdown 為 True,調(diào)用者可以修改列表中列出的文件夾名字(也可以使用 del 或者 slice),walk()僅僅遞歸每一個包含在 dirname

43、s 中的子文件夾;可以減少查詢,利用訪問的特殊順序,或者甚至告訴 walk()關于文件夾的創(chuàng)建者或者重命名在它重新 walk()之前.修改文件名當 topdown 為 False 時是無效的,因為在 bottom-up 模式中在 dirnames 中的 directories 比 dirpath 它自己先產(chǎn)生.默認 listdir()的 errors 將被忽略.如果 optional 參數(shù) onerror 被指定,它應該是一個函數(shù);它調(diào)用時有一個參數(shù),一個 OSError 實例.報告這錯誤后,繼續(xù) walk,或者拋出 exception 終止 walk.注意 filename 是可用的的,ex

44、ception 對象的 filename 屬性.默認,walk()不會進入符號鏈接.新增 version2.6:注:如果你傳入一個相對的 pathname,不要在 walk()執(zhí)行過程中改變當前文件夾.walk()不會改變改前文件夾,同時確保它的調(diào)用者也不會改變.importosfromos.pathimportjoin,getsizeforroot,dirs,filesinos.walk(python/Lib/email):printroot,consumes,printsum(getsize(join(root,name)fornameinfiles),printbytesin,len(f

45、iles),non-directoryfilesifCVSindirs:dirs.remove(CVS)#dontvisitCVSdirectories3.%2.%3. Deleteeverythingreachablefromthedirectorynamedintop,4.%2.%3. assumingtherearenosymboliclinks.5.%2.%3. CAUTION:Thisisdangerous!Forexample,iftop=/,it6.%2.%3. coulddeleteallyourdiskfiles.importosforroot,dirs,filesinos.

46、walk(top,topdown=False):fornameinfiles:os.remove(os.path.join(root,name)fornameindirs:os.rmdir(os.path.join(root,name)新增 version2.3.使用函數(shù)來創(chuàng)建和管理進程。使用 exec*()函數(shù)使用 arguments 列表來載入新程序.在每個例子,一個用戶敲入一個命令行中的第一個參數(shù)傳遞給程序作為它自己的名字而不是作為參數(shù).對于 C 程序員來說,它是傳遞給 main()的 argv0.例如, os.execv(/bin/echo,foo,bar)將僅僅在標準輸出上打印 ba

47、r;foo 將被忽略.os.abort()產(chǎn)生一個 SIGABRT 標識到當前的進程.在 Unix,這默認的行為是產(chǎn)生一個主要的 dump;在Windows,這進程立即返回退出以一個狀態(tài)碼為 3.程序使用 signal.signal()來注冊一個SIGABRT 將導致不同的行為.在 unix,Windows 中有效。os.execl(path,arg0,argl,.)os.execle(path,arg0,argl,.,env)os.execlp(file,arg0,argl,.)os.execlpe(file,arg0,argl,.,env)os.execv(path,args)os.exe

48、cve(path,args,env)os.execvp(file,args)os.execvpe(file,args,env)這些函數(shù)將執(zhí)行一個新程序,替換當前進程;他們沒有返回.在 Unix,新的執(zhí)行體載入到當前的進程,同時將和當前的調(diào)用者有相同的 id.將報告 Errors 當拋出 OSError 時.當前的進程立即被替代.打開文件對象和描述符不會被刷新,如果在這些打開的文件中有數(shù)據(jù)緩沖區(qū),應該在調(diào)用 exec*()函數(shù)之前,使用 sys.stdout.flush()或者 os.fsync()flush 它們在 unix,Windows 中有效。os._exit(n)使用狀態(tài) n 退出系統(tǒng)

49、,沒有調(diào)用清理函數(shù),刷新緩沖區(qū)。在 unix,Windows 中有效。注:標準退出白方法是 sys.exit(n)._exit()一般使用于 fork()產(chǎn)生的子進程中.os.EX_OK在 unix 中有效,請查看相關文檔.。新增 version2.3.os.EX_USAGE在 unix 中有效,請查看相關文檔.。新增 version2.3.os.EX_DATAERR在 unix 中有效,請查看相關文檔.。新增 version2.3.os.EX_NOINPUT在 unix 中有效,請查看相關文檔.。新增 version2.3.os.EX_NOUSER在 unix 中有效,請查看相關文檔.。新增

50、 version2.3.os.EX_NOHOST在 unix 中有效,請查看相關文檔.。os.EX_UNAVAILABLE在 unix 中有效,請查看相關文檔新增 version2.3.os.EX_SOFTWARE在 unix 中有效,請查看相關文檔新增 version2.3.os.EX_OSERR在 unix 中有效,請查看相關文檔新增 version2.3.os.EX_OSFILE在 unix 中有效,請查看相關文檔新增 version2.3.os.EX_CANTCREAT在 unix 中有效,請查看相關文檔新增 version2.3.os.EX_IOERR在 unix 中有效,請查看相關

51、文檔新增 version2.3.os.EX_TEMPFAIL在 unix 中有效,請查看相關文檔新增 version2.3.os.EX_PROTOCOL在 unix 中有效,請查看相關文檔新增 version2.3.os.EX_NOPERM在 unix 中有效,請查看相關文檔os.EX_CONFIG在 unix 中有效,請查看相關文檔.。新增 version2.3.os.EX_NOTFOUND在 unix 中有效,請查看相關文檔.。新增 version2.3.os.fork()在 unix 中有效,請查看相關文檔.。os.forkpty()在一些 unix 中有效,請查看相關文檔os.kill

52、(pid,sig)在 unix 中有效,請查看相關文檔.。os.killpg(pgid,sig)在 unix 中有效,請查看相關文檔.。新增 version2.3.os.nice(increment)在 unix 中有效,請查看相關文檔.。os.plock(op)在 unix 中有效,請查看相關文檔.。os.popen(.)os.popen2(.)os.popen3(.)os.popen4(.)運行子進程,返回交流的打開的管道.這些函數(shù)在前面創(chuàng)建文件對象時介紹過os.spawnl(mode,path,.)os.spawnle(mode,path,.,env)os.spawnlp(mode,fi

53、le,.)os.spawnlpe(mode,file,.,env)os.spawnv(mode,path,args)os.spawnve(mode,path,args,env)os.spawnvp(mode,file,args)os.spawnvpe(mode,file,args,env)在新進程中執(zhí)行程序 path(請使用 subprocess 模塊)如果模式是 P_NOWAIT,返回新進程的 id;如果模式是 P_WAIT,返回進程退出時的狀態(tài)碼。如果正常退出,或者-signal,當 signal 是 killed.在 Windows,進程 id 實際上是 process 的 handle

54、,所它可以使用于 waitpid()函數(shù).importosos.spawnlp(os.P_WAIT,cp,cp,index.html,/dev/null)L=cp,index.html,/dev/nullos.spawnvpe(os.P_WAIT,cp,L,os.environ)在 unix,Windows 中有效。新增 version1.6.os.P_NOWAITos.P_NOWAITOspawn*()族函數(shù)參數(shù) mode 的可選值.如果給出其中任一個值,新進程一創(chuàng)建完成,spawn*()函數(shù)將立即返回,返回進程 id 的值.在 unix,Windows 中有效。新增 version1.6.

55、os.P_WAITspawn*()族函數(shù)參數(shù) mode 的可能值.如果將它賦值給 mode,spawn*()函數(shù)不返回,直接運行結(jié)束以及如果運行成功,將返回進程的退出碼,或者如果 signal 殺掉了這個進程,將返回-signal.在 unix,Windows 中有效。新增 version1.6.os.P_DETACHos.P_OVERLAYspawn*()族函數(shù)參數(shù) mode 的可選值。P_DETACH 和 P_NOWAIT 很相似,但是新進程依附在調(diào)用進程的 consoleo如果使用了 P_OVERLAY,當前進程將被替換,spawn*()函數(shù)將無返回。在 Windows 上有效。新增 v

56、ersion1.6.os.startfile(path,operation)以相關的程序打開文件.當 operation 沒有指定或者open,這操作就像在 WindowsExplorer 雙擊文件,或者將這個文件作為交互命令行中 start 命令的參數(shù):與文件擴展相關的程序打開文件。當指定另外操作時,它必須是commandverb”它指定應該對文件做什么.像 Microsoft 的printedit(作用在文件上)exploreandfind(作用在文件夾上).startfile()只要相關的應該程序一啟動就返回。沒有選項等待應用程序關閉,沒有方法接收應用程序退出的狀態(tài).path 參數(shù)與當前

57、 directory 相關.如果你想使用一個絕對路徑,確保第一個字符不是(/)o 使用 os.path.normpath()函數(shù)確保路徑對于 Win32 來說是正確的.在 Windows 上有效.新增 version2.0.新增 version2.5:Theoperationparameter.os.system(command)在 shell 中執(zhí)行 string 命令.這是使用標準 C 函數(shù) system(),有同樣的限制.例如改變 sys.stdin,不影響命令執(zhí)行環(huán)境.在 Unix,請查看相當文檔.在 Windows,返回值是在 shell 運行命令的返回值。在 unix,Window

58、s 中有效。subprocess 模塊提供了一個更強大的功能產(chǎn)生新進程和接收它們的結(jié)果;os.times()返回一個 5-tuple 的浮點數(shù)字,表示(處理器或者其它)累積時間,以秒為單位.items 為:用戶時間,系統(tǒng) time,子用戶 time,子系統(tǒng) time,和從過去一個固定的點真實流逝的時間.在unix,Windows 中有效。在 Windows,僅僅填充開始兩項,其它都為 0.os.wait()在 unix 中有效,請查看相關文檔.。os.waitpid(pid,options)Unix:等待一個指定的 pid 的子進程完成,返回一個 tuple 返回它的進程 id 和退出狀態(tài).一

59、般情況下option 設為 0.更強細請查看相關文檔在 Windows:等待一個指定的 pid 的進程完成,返回一個 tuple 返回它的進程 id 和退出狀態(tài)向左移動了 8 位。如果 pid 小于或等于 0 沒有特別的意思, 將拋出 egeroptions 沒有任何影響.pid可以指向任何進程的 id,不一定是子進程的 id.os.wait3(options)在 unix 中有效,請查看相關文檔.。新增 version2.5.os.wait4(pid,options)在 unix 中有效,請查看相關文檔.。新增 version2.5.os.WNOHANG在 unix

60、 中有效,請查看相關文檔.。os.WCONTINUED在某些 unix 中有效,請查看相關文檔.。新增 version2.3.os.WUNTRACED在 unix 中有效,請查看相關文檔.。os.WCOREDUMP(status)在 unix 中有效,請查看相關文檔.。新增 version2.3.os.WIFCONTINUED(status)在 unix 中有效,請查看相關文檔.。新增 version2.3.os.WIFSTOPPED(status)在 unix 中有效,請查看相關文檔.。os.WIFSIGNALED(status)在 unix 中有效,請查看相關文檔.。os.WIFEXITE

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論