python常用模塊_第1頁(yè)
python常用模塊_第2頁(yè)
python常用模塊_第3頁(yè)
python常用模塊_第4頁(yè)
python常用模塊_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余32頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

10、d().請(qǐng)查看 Unix 手冊(cè).在 unix 中有效,請(qǐng)查看相關(guān)文檔.。os.setuid(uid)設(shè)置當(dāng)前 userid.在 unix 中有效,請(qǐng)查看相關(guān)文檔.。os.strerror(code)返回程序中錯(cuò)誤 code 的錯(cuò)誤信息。在某些平臺(tái)上,當(dāng)給一個(gè)未知的 code,strerror()返回 NULL,將拋出ValueError。在 unix,Windows 中有效。os.umask(mask)設(shè)置當(dāng)前權(quán)限掩碼,同時(shí)返回先前的權(quán)限掩碼。在 unix,Windows 中有效。os.fdopen(fd,mode,bufsize)返回一個(gè)文件描述符號(hào)為 fd 的打開(kāi)的文件對(duì)象。mode 和

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

12、誤終止),返回 None.在 unix,Windows 中有效。在 2.6 版本中已拋棄.使用 subprocess 模塊.os.tmpfile()返回一個(gè)打開(kāi)的模式為(w+b)的文件對(duì)象.這文件對(duì)象沒(méi)有文件夾入口, 沒(méi)有文件描述符,將會(huì)自動(dòng)刪除.在 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。文件描述符是與當(dāng)前進(jìn)程打開(kāi)的文件相對(duì)應(yīng)的一些小整數(shù).例如標(biāo)準(zhǔn)輸入的通常文件描述符中 0,標(biāo)準(zhǔn)輸出是 1,標(biāo)準(zhǔn)錯(cuò)誤是 2.進(jìn)程打開(kāi)的更多文件將被分配為 3,4,5,等.這“文件描述符”有一點(diǎn)迷惑性;在 Unix 平臺(tái)上,socket 和 pipe 通常也使用文件描述符引用.os.close(fd)關(guān)閉文件描述符 fd.在 unix,Windows 中有效。這函數(shù)是為低層的 I/O 服務(wù)的,應(yīng)用在 os.open()或 pipe()返回的文件描述符上。關(guān)閉一個(gè)由內(nèi)建函數(shù) open()或 popen()或 fdopen()打開(kāi)的文件對(duì)象,使用 close()方法。os

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

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

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

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

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

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

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

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

22、讀取內(nèi)建函數(shù)open()或者 bypopen()或者fdopen(),或者 sys.stdin返回的一個(gè)“文件對(duì)象“,使用它的read()或者 readline()方法.下面的常數(shù)是open()函數(shù)的flags參數(shù)選項(xiàng).它們可以使用bitwise合并或者operator.它們中的一些常數(shù)并不是在所有平臺(tái)都有效.它們更多使用請(qǐng)查看相關(guān)資料,在 unix 上參考o(jì)pen(2)手冊(cè)頁(yè)面,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 擴(kuò)展,如果沒(méi)有在 C 庫(kù)聲明剛沒(méi)有.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 嘗試訪問(wèn) path.注大部分操作使用有效的 uid/gid,因此運(yùn)行環(huán)境可以在suid/sgid 環(huán)境嘗試,如果用戶有權(quán)訪問(wèn) path.mode 為 F_OK,測(cè)試存在的 path,或者它可以是包含 R_OK,W_OK 和 X_OK 或者 R_OK,W_OK 和 X_OK 其中之一或者更多.如果允許訪問(wèn)返回 True,否則返回 False.查看 Unix 手冊(cè) access(2)獲取更多信息.在 unix,Windows 中有效。注:使用 access(

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

26、改變當(dāng)前工作目錄.在 unix,Windows 中有效。os.fchdir(fd)在 unix 中有效,請(qǐng)查看相關(guān)文檔.。os.getcwd()返回當(dāng)前工作目錄的字符串,在 unix,Windows 中有效。os.getcwdu()返回一個(gè)當(dāng)前工作目錄的 Unicode 對(duì)象.在 unix,Windows 中有效。os.chflags(path,flags)在 unix 中有效,請(qǐng)查看相關(guān)文檔.。os.chroot(path)在 unix 中有效,請(qǐng)查看相關(guān)文檔os.chmod(path,mode)改變 path 的 mode 到數(shù)字 mode.mode 為下面中的一個(gè)(在 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(),你只可以使用它設(shè)置只讀 flag(通過(guò) stat.S_IWRITE 和stat.S_IREAD 常數(shù)或者一個(gè)相對(duì)應(yīng)的整數(shù))。所有其它的 bits 都忽如了.os.chown(path,uid,gid)在 unix 中有效,請(qǐng)查看相關(guān)文檔.。os.lchflags(path,flags)在 unix 中有效,請(qǐng)查看相關(guān)文檔.。新增 version2.6.os.lchmod(path,mode)在 unix 中有效,請(qǐng)查看相關(guān)文檔.。新增 version2.6.os.lchown(path,uid,gid)在 unix 中有效,請(qǐng)查看相關(guān)文檔.。新增 version2.3.o

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

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

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

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

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

34、ndows,嘗試刪除一個(gè)正在使用的文件將拋出一個(gè)exception;在 Unix,directory 入口會(huì)被刪除,但分配給文件的存儲(chǔ)是無(wú)效的,直到原來(lái)的文件不再使用.在unix,Windows 中有效。os.removedirs(path)遞歸刪除 directorie.像 rmdir(),如果子文件夾成功刪除,removedirs()才嘗試它們的父文件夾,直到拋出一個(gè) error(它基本上被忽略,因?yàn)樗话阋馕吨阄募A不為空).例如,os.removedirs(foo/bar/baz)將首先刪除foo/bar/baz,然后刪除foo/bar和foo如果它們是空的.如果子文件夾不能被成功刪

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

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

37、所有用戶的 id),st_gid(所有者 groupid),st_size(文件大小,以位為單位),st_atime(最近訪問(wèn)的時(shí)間),st_mtime(最近修改的時(shí)間),st_ctime(依賴于平臺(tái);在 Unix 上是 metadata 最近改變的時(shí)間或者在 Windows 上是創(chuàng)建時(shí)間):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 進(jìn)行計(jì)算.一秒的小數(shù)部分也會(huì)顯示出來(lái),如果系統(tǒng)支持.在 MacOS,時(shí)間常常是 floats.查看 stat_float_times()獲取更多信息.在一些 Unix 系統(tǒng)上(例如 Linux),下面的屬性也許是有效的:st_blocks(為文件分配了多少塊),st_blksize(文件系統(tǒng) blocksize),st_rdev(設(shè)備型號(hào)如果是一個(gè) inode 設(shè)備).st_flags(用戶為文件定義的 flags).在 unix,Windows 中有效。os.stat_float_times(newvalue)決定 sta

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

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

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

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

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

44、ception 對(duì)象的 filename 屬性.默認(rèn),walk()不會(huì)進(jìn)入符號(hào)鏈接.新增 version2.6:注:如果你傳入一個(gè)相對(duì)的 pathname,不要在 walk()執(zhí)行過(guò)程中改變當(dāng)前文件夾.walk()不會(huì)改變改前文件夾,同時(shí)確保它的調(diào)用者也不會(huì)改變.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ù)來(lái)創(chuàng)建和管理進(jìn)程。使用 exec*()函數(shù)使用 arguments 列表來(lái)載入新程序.在每個(gè)例子,一個(gè)用戶敲入一個(gè)命令行中的第一個(gè)參數(shù)傳遞給程序作為它自己的名字而不是作為參數(shù).對(duì)于 C 程序員來(lái)說(shuō),它是傳遞給 main()的 argv0.例如, os.execv(/bin/echo,foo,bar)將僅僅在標(biāo)準(zhǔn)輸出上打印 ba

47、r;foo 將被忽略.os.abort()產(chǎn)生一個(gè) SIGABRT 標(biāo)識(shí)到當(dāng)前的進(jìn)程.在 Unix,這默認(rèn)的行為是產(chǎn)生一個(gè)主要的 dump;在Windows,這進(jìn)程立即返回退出以一個(gè)狀態(tài)碼為 3.程序使用 signal.signal()來(lái)注冊(cè)一個(gè)SIGABRT 將導(dǎo)致不同的行為.在 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í)行一個(gè)新程序,替換當(dāng)前進(jìn)程;他們沒(méi)有返回.在 Unix,新的執(zhí)行體載入到當(dāng)前的進(jìn)程,同時(shí)將和當(dāng)前的調(diào)用者有相同的 id.將報(bào)告 Errors 當(dāng)拋出 OSError 時(shí).當(dāng)前的進(jìn)程立即被替代.打開(kāi)文件對(duì)象和描述符不會(huì)被刷新,如果在這些打開(kāi)的文件中有數(shù)據(jù)緩沖區(qū),應(yīng)該在調(diào)用 exec*()函數(shù)之前,使用 sys.stdout.flush()或者 os.fsync()flush 它們?cè)?unix,Windows 中有效。os._exit(n)使用狀態(tài) n 退出系統(tǒng)

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

50、 version2.3.os.EX_NOHOST在 unix 中有效,請(qǐng)查看相關(guān)文檔.。os.EX_UNAVAILABLE在 unix 中有效,請(qǐng)查看相關(guān)文檔新增 version2.3.os.EX_SOFTWARE在 unix 中有效,請(qǐng)查看相關(guān)文檔新增 version2.3.os.EX_OSERR在 unix 中有效,請(qǐng)查看相關(guān)文檔新增 version2.3.os.EX_OSFILE在 unix 中有效,請(qǐng)查看相關(guān)文檔新增 version2.3.os.EX_CANTCREAT在 unix 中有效,請(qǐng)查看相關(guān)文檔新增 version2.3.os.EX_IOERR在 unix 中有效,請(qǐng)查看相關(guān)

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

52、(pid,sig)在 unix 中有效,請(qǐng)查看相關(guān)文檔.。os.killpg(pgid,sig)在 unix 中有效,請(qǐng)查看相關(guān)文檔.。新增 version2.3.os.nice(increment)在 unix 中有效,請(qǐng)查看相關(guān)文檔.。os.plock(op)在 unix 中有效,請(qǐng)查看相關(guān)文檔.。os.popen(.)os.popen2(.)os.popen3(.)os.popen4(.)運(yùn)行子進(jìn)程,返回交流的打開(kāi)的管道.這些函數(shù)在前面創(chuàng)建文件對(duì)象時(shí)介紹過(guò)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)在新進(jìn)程中執(zhí)行程序 path(請(qǐng)使用 subprocess 模塊)如果模式是 P_NOWAIT,返回新進(jìn)程的 id;如果模式是 P_WAIT,返回進(jìn)程退出時(shí)的狀態(tài)碼。如果正常退出,或者-signal,當(dāng) signal 是 killed.在 Windows,進(jìn)程 id 實(shí)際上是 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 的可選值.如果給出其中任一個(gè)值,新進(jìn)程一創(chuàng)建完成,spawn*()函數(shù)將立即返回,返回進(jìn)程 id 的值.在 unix,Windows 中有效。新增 version1.6.

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

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

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

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

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論