模块篇-python常用翻译者butalnd于个人博客_第1页
模块篇-python常用翻译者butalnd于个人博客_第2页
模块篇-python常用翻译者butalnd于个人博客_第3页
模块篇-python常用翻译者butalnd于个人博客_第4页
模块篇-python常用翻译者butalnd于个人博客_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

pythonos模块中文帮助文档文章分类:Python编程pythonos翻译者:butalnd翻译于2010.1.7——2010.1.8,个人博客:/unix中的函数大部分都被略过,翻译主要针对WINDOWS,翻译速度很快,open(),os.path模块,如果你想在命令行中,读入所有文件的所有fileinputtempfile模块创建临时文件和文件夹,更高级的文件和文件夹处理,请shutil模块。OSErrorexception导入依赖操作系统模块的名字。下面是目前被的名字:'posix','nt','mac','os2','ce','java',function和data一个map对象表示环境例如,environ['HOME']表示的你自己home文件夹的路径(某些平台支持,windows不支持)这个map对象在os模块第一次导入时被创建,一般在python启动时,作为site.py处理过程的一部分。在这一次之后改变environment不如果没有提供putenv(),map的修本传递给合适的创建过程函数,将导致子过程使environment。2.6FilesDirectories返回当前进程有效的groupid。对应于当前进程的可执行文件的"setidbit返回当前进程有效的useridunix中有效,请查看相关文档.返回当前进程支持的groupsidunix中有效,请查看相关文档.返回进程控制终端登陆用户的名字。在大多情况下它比使用environment变量LOGNAMEpwd.getpwuid(os.getuid())[0]得到当前有效用户id的登陆名更为有效。unix中有效,请查看相关文档.。pidgroupid.pid0,groupid。在unix中有效,请查看相id.在unix中有效,请查看相关文档.id.在unix中有效,请查看相关文档.os.getenv(varname[,environmentvarnamevalue不存在,默认为None.unix,Windows中有效。os.putenv(varname,varname环境变量为valueos.systempopen()fork()和execv()启unix,Windows中有效。id.在unix中有效,请查看相关文档.groupsid列表。groups必须是个列表,每个元素必须是个整数,这个unix中有效,请查看相关文档.。systemsetpgrp()setpgrp(0,0)()system.手册.unix中有效,请查看相关文档.os.setpgid(pid,systemsetpgid()pidgroupidpgrp.Unix手册.unix中有效,os.setreuid(ruid,processid.unix中有效,请查看相关文档.processid.在unix中有效,请查看相关文档.system的getsid().Unix手册.unix中有效,请查看相关文档.systemsetsid().Unix手册.unix中有效,请查看相关文档.userid.unix中有效,请查看相关文档.os.fdopen(fd[,mode[,fdmodebufsizeopen()函数unix,Windows中有效。mode必须以'rw',或者'a'开头,以'a'mode,O_APPEND位已设置os.popen(command[,mode[,command打开一个管理。返回一个打开的连接到管道文件对象,文件对象可以读或写,在于模式是'r'(默认)或'w',bufsize参数,和内建的open()函数是同一个意思。command(wait()函数中编码)close()返回值一样,除非返0(无错误终止),None.unix,Windows中有效。2.6版本中已抛弃.subprocess模块返回一个打开的模式为(w+b)的文件对象.这文件对象没有文件夹,没有文件描述符,将会自动删除.unix,Windows中有效。version2.6起:popen*()函数已抛弃.subprocess模块.os.popen2(cmd[,mode[,bufsize]])os.popen3(cmd[,mode[,bufsize]])os.popen4(cmd[,mode[,文件描述符是与当前进程打开的文件相对应的一些小整数.例如标准输入的通常文件描述符中0,标准输出是1,标准错误是2.进程打开的文件将被分配为3,4,5,等.这“文件描述符”有一点迷惑性;在Unix平台上,socket和pipe通常也使用文件描述符.fd.unix,WindowsI/O服务的,应用在os.open()pipe()返回的文件描述符上。关闭一个由open()或popen()fdopen()close()方法。os.closerange(fd_low,fd_high)forfdinxrange(fd_low,fd_high):exceptfdcope.unix,Windowsos.dup2(fd,fdfd2,如果有需要首先关闭fd2.unix,Windows od(fd,改变文件描述符为fd的文件’modemode查看od()mode的值.unix中version2.6中新增.os.fchown(fd,uid,gid)fd的文件的所有者和groupid为uid和gid.如果不想它们中的一个,设置为-1.unix中有效,请查看相关文档.version2.6中新增.强制将文件描述符为fd的文件写入硬盘.不强制更新metadata.unixMacOS中无效.os.fpathconf(fd,name)统值的字符串,这些名字在很多标准中指定(POSIX.1,Unix95,Unix98,和其它。一些平pathconf_names的字典中。对于不pathconf_namesunix中有统上不支持,即使它包含在pathconf_names中,将会抛出错误数字为errno.EINVAL的fdstatvfs().unix中有效,请查看相强制将文件描述符为fd的文件写入硬盘.在Unix,将调用fsync()函数;在Windows,如果你准备操作一个Python文件对象f,首先f.flush(),然后os.fsync(f.fileno()),确保与f相关的所有内存都写入了硬盘.unix,Windows中有效。os.ftruncate(fd,裁剪文件描述符fd对应的文件,所以它最大过文件大小.在unix中有效,请查看相fdtty(-like)true,False.os.lseek(fd,pos,fdpos,how方式修改:SEEK_SET或者0设置从文件开始的计算的pos;SEEK_CUR1则从当前位置计算os.SEEK_END或者2则从文件尾部开始.unix,Windows中有效。os.open(file,flags[,fileflagsflagsmodemodemode是0777八进制firstmaskedout.返回刚打开的文件描述符.unix,Windowsflagmode值C运行时文档flag常数(O_RDONLYandO_WRONLY)在这个模注:I/O服务的.open(),read()等方法创建的文件对象.包装文件描述符为“文件对象”,创建一个管道.返回一对文件描述符(rw)分别为读和写.unix,Windowsos.read(fd,从文件描述符fd中最多n个字节.返回包含字节的string.文件描述符fd对应文件已达到结尾,string.unix,Windows中有效。注:I/Oos.open()pipe()函数返回的文件描述符.内建函数open()或者bypopen()或者fdopen(),或者sys.stdin返回的一个“文件对象”,使用它的read()或者readline()方法.os.tcsetpgrp(fd,os.write(fd,fd中.返回实际写入的字符串长度.unix,Windows注:I/Oos.open()pipe()函数返回的文件描述符.内建函数open()或者bypopen()或者fdopen(),或者sys.stdin返回的一个“文件对象”,使用它的read()或者readline()方法.下面的常数是open()函数的flags参数选项.它们可以使用bitwise合并或者operator|.它们中的一些常数并不是在所有平台都有效.它们使用请查看相关资料,在unix上参考open(2)手册页面,windows上http://m 这些常数在UnixandWindows上有效Unix上有效Windows上有效.这些常数是GNU扩展,如果没有在C库刚没有lseek()函数的参数.0,1,2.UnixandWindows上有效.2.5新增.os.access(path,使用现在的uid/gid尝试path.注大部分操作使用有效的uid/gid,因此运行环境可以在suid/sgid环境尝试,如果用户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()去测试用户是否.在实际使用open()打开一个文件前测试会创建一个安全前,因为用户会利用这短暂时间在检测和打开这个文件去修改它.注:access()succeedI/O操作也可能会失败,如网络文件系统.access()modepath是否可读.access()modepath是否可写.access()modepath是否可执行.. .在unix,Windows中有效 的字符串,在unix,Windows中有效 的Unicode对象.在unix,Windows中有效os.chflags(path,os.od(path,改变path的mode到数字modemode(stat模块中定义)或者bitwise它们的组合注:尽管Windows支 od(),你只可以使用它设置只读flag(通过stat.S_IWRITEstat.S_IREAD常数或者一个相对应的整数)bits都忽略了os.chown(path,uid,os.lchflags(path,unix中有效,请查看相关文档.。version2.6. od(path,unix中有效,请查看相关文档.。version2.6.os.lchown(path,uid,unix中有效,请查看相关文档.。version2.3.os.link(source,返回path指定的文件夹包含的文件或文件夹的名字的列表.这个列表以字母顺序.'.'和'..'即使它在文件夹中.unix,WindowsChangedinversion2.3:在WindowsNT/2k/XPUnix,如果文件夹是一个Unicodeobject,结果将是Unicodeobjects列表.不能的文件名将仍然作为stringobjects返回.像stat(),但是没有符号.这是stat()的别名在某些平台上,例如Windows.os.mkfifo(path[,mode])os.mknod(filename[,mode=0600,pipe建或使用节点的权限,组合(或者bitwise)stat.S_IFREG,stat.S_IFCHR,stat.S_IFBLK,和stat.S_IFIFO(stat模块).stat.S_IFCHRstat.S_IFBLK,设备定义了创建的设备特殊文件(可能使用os.makedev()),其它都将忽略.version2.3.major(statst_devst_rdevversion2.3.minor(statst_devst_rdevfieldversion2.3.os.makedev(majorminor)majorminor设备号组成一个原始设备号.version2.3.os.mkdir(path[,modemodepath的文件夹.mode0777(八进制).在有些平台上,mode是忽略的.firstmaskedout.在unix,Windows也可以创建临时文件夹;tempfiletempfile.mkdtemp()函数mkdirintermediate-level文件夹需要包含子文件夹.抛出一个errorexception如果子文件夹已经存在或者不能创建.mode0777八进制).在有些平台上,mode是忽略的.当使用时。这当前的掩码值是firstmaskedout。注makedirs()UNC路径os.pathconf(path,path的文件.pathOSError;rmdir()删除一个directory.这和下面的unlink()函数文档是一样的.在Windows,尝试删除一个正在使用的文件将抛出一个exception;在Unix,directory会被删除但分配给文件的是无效的,直到原来的文件不再使用.unix,Windows中有效。递归删除directorie.像rmdir(),如果子文件夹成功删除removedirs()才尝试它们的父文件夹,直到抛出一个error它基本上被忽略因为它一般意味着你文件夹不为空例如,os.removedirs('foo/bar/baz')将首先删除'foo/bar/baz',然后删除'foo/bar'和'foo'如果它们是空的.如果子文件夹不能被成功删除,将抛出OSError.version1.5.2.os.rename(src重命名file或者directorysrc到dst.如果dst是一个存在的directory,将抛出OSError.在如果dst在存且是一个file,如果用户限的话,它将被安静的替换.操作将会失败在某些Unix中如果srcdst在不同的文件系统中.如果成功,这命名操作将会是一个原子操作(POSIX需要).Windows上,dst已经存在,OSError,即使它是一个文件.unix,Windows中有效。os.renames(old,versionpath文件夹.仅当这文件夹是空的才可以,否则,OSError.要删除整个文件夹树,shutil.rmtree().unix,Windows中有效。stat()path上.stat结构成员有关:st_mode(保护位),st_ino(inodenumber),st_dev(device),st_nlink(numberofhardlinks),st_uid(idst_gidgroupidst_size(文件大小,以位为单位),st_atime(最近的时间st_mtime最近修改的时间st_ctime依赖于平台;在Unix上是metadata最近改变的时间,或者在Windows上是创建时间):>>>import>>>statinfo=>>>(33188,422511L,769L,1,1032,100, >>>statinfo.st_sizestat_float_times()True,timefloats,second进行计算一秒的小数部分也会显示出来,如果系统支持.在MacOS,时间常常是floats.查看stat_float_times()获取信Unix系统上(Linux),下面的属性也许是有效的:st_blocks(为文件分配了多少块st_blksizeblocksize),st_rdev(inode设备).st_flags(用户flags).stat_resultfloat对象显示时间戳path。在WindowsTMP.C库;使用tempnam()对于symlink是一个;考虑使用tmpfile()代替path.使用tempnam()对于symlink是一个;考虑使用tmpfile()代替tmpnam()将产生唯一名字的最大数值.删除file路径.与remove()相同 os.utime(path,返回指定的path文件的和修改的时间。如果时间是None,则文件的和修改设为当前时间。否则,时间是一个2-tuple数字,(atime,mtime)用来分别作为和修改的时间.unix,Windows中有效。输出在文件夹中的文件名通过在树中,向上或者向下.在根下的每一个文件夹(包含它自己),3-tuple(dirpath,dirnames,filenames)【文件夹路径,文件夹名字,文件名】.dirpath是一个字符串directory的路径dirnames在dirpath(filenamesdirpath不包含子文件夹的文件名的列表.names不包含path.为获得dirpath中的一个文件或者文件夹的完整路径(以顶开始或者,操作os.path.join(dirpath,name).optionaltopdownTruenot指定,directory3-tuple将比它的任何子文件夹的3-tuple(directories自上而下).topdownFalse,directory的3-tuple3-tuple后产生(directories自下而上)。topdownTrue,调用者可以修改列表中列出的文件夹名字(delslice),walk()仅仅递归每一个包含在dirnames中的子文件夹;可以减少查询,利用的特殊顺序,walk()walk()之前.修改文件名topdownFalse时是无效的,bottom-updirnamesdirectories比dirpath它自己先产生.listdir()errors将被忽略.optionalonerror被指定,它应该是一个函数;它调用时有一个参数,一个OSError实例.walk,或者抛出exception终止walk.filename是可用的的,exception对象的filename属性.默认,walk()不会进入符号version注:pathname,walk()执行过程中改变当前文件夹.walk()不会改变改前文件夹,同时确保它的调用者也不会改变.importfromos.pathimportjoin,forroot,dirs,filesinos.walk('python/Lib/'):printroot,"consumes",printsum(getsize(join(root,name))fornameinfiles),print"bytesin",len(files),"non-directoryfiles"if'CVS'in #don'tvisitCVS#Deleteeverythingreachablefromthedirectorynamedin"top",#assumingtherearenosymboliclinks.#CAUTION: Thisisdangerous! Forexample,iftop=='/',it#coulddeleteallyourdiskfiles.importforroot,dirs,filesinos.walk(top,topdown=False):fornameinfiles:os.remove(os.path.join(root,name))fornameindirs:versionexec*()arguments列表来载入新程序.在每个例子,一个用户敲入一个命令行中的第一个参数传递给程序作为它自己的名字而不是作为参数.对于C程序员来说,它main()argv[0例如,os.execv('/bin/echo',['foo','bar'])将仅仅在标准输出上打印bar;foo将被忽略.产生一个SIGABRT标识到当前的进程.在Unix,这默认的行为是产生一个主要的dump;在Windows,这进程立即返回退出以一个状态码为3.程序使用signal.signal()来一个SIGABRT将导致不同的行为.unix,Windows中有效。os.execl(path,arg0,arg1,os.execle(path,arg0,arg1,...,os.execlp(file,arg0,arg1,...)os.execlpe(file,arg0,arg1,...,env)os.execv(path,args)os.execve(path,args,env)os.execvp(file,args)os.execvpe(file,args,env)这些函数将执行一个新程序,替换当前进程;他们没有返回.Unix,的进程,id.ErrorsOSError时当前的进程立即被替代.打开文件对象和描述符不会被刷新,如果在这些打开的文件中有数exec*()sys.stdout.flush()os.fsync()flushn退出系统,unix,Windows中有效。注:sys.exit(n)._exit()fork()产生的子进程中.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.versionunix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.versionunix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.os.kill(pid,os.killpg(pgid,unix中有效,请查看相关文档.。version2.3.运行子进程,返回交流的打开的管道.这些函数面创建文件对象时介绍过.os.spawnl(mode,path,...)os.spawnle(mode,path,...,os.spawnlp(mode,file,...)os.spawnlpe(mode,file,...,env)os.spawnv(mode,path,args)os.spawnve(modepath,args,env)os.spawnvp(mode,file,args)os.spawnvpe(modefileargs,env)在新进程中执行程序path(subprocess模块,如果正常退出,或者-signal,当signal是killed.在Windows,进程id实际上是process的handle,所它可以使用于waitpid()函数.importL=['cp','index.html','/dev/null']os.spawnvpe(os.P_WAITcp',L,os.environ)unix,Windows中有效。versionspawn*()mode的可选值.如果给出其中任一个值,,id的值.unix,Windows中有效。version1.6.spawn*()mode的可能值.mode,spawn*()函数不返回,直接运行结束以及如果运行成功,将返回进程的退出码,或者如果signal杀掉了这个进程,将返回-signal.unix,Windows中有效。versionconsoleP_OVERLAY,当前进程将被替换,spawn*()函数将无返回。在Windows上有效。version当operation没有指定或者'open',这操作就像在WindowsExplorer双击文件,或者将这个文件start命令的参数:与文件扩展相关的程序打开文件。当指定另外操作时,它必须是“commandverb”它指定应该对文件做什么.像 'explore'and'find'(作用在文件夹上startfile()只要相关的应该程序一启动就返回。没有选项等待应用程序关闭,没有方法接收应用程序退出的状态pathdirectory相关.如果你想使用一个绝对路径,确保第一个('/')。使用os.path.normpath()函数确保路径对于win32来说是正确的.在Windowsversionversion2.5:Theoperationparameter.在 中执行string命令.这是使用标准C函数system(),有同样的限制.例如改变Unix,请查看相当文档在Windows,返回值是在s 在unix,Windows中有效。5-tuple(处理器或者其它)累积时间,以秒为单位.items为:用户时间,系统time,子用户time,子系统time,和从过去一个固定的点真实流逝的时间.在unix,WindowsWindows,仅仅填充开始两项,0.os.waitpid(pid,Unix:等待一个指定的pid的子进程完成,返回一个tupleid.一般option0.Windowspid的进程完成,tupleid和退出状态8pid0没有特别的意思,egeroptions没有任何影响.pidid,id.unix中有效,请查看相关文档.。version2.5.os.wait4(pid,unix中有效,请查看相关文档.。version2.5.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.MiscellaneousSystemInformationunix中有效,请查看相关文档.。version2.3.操作系统用此常数字符串作为父文件夹的系统使用另外一个字符来分割路径,如果只有一个分割字符存在,则是None.version2.2.PTHos.pathexec*p*()spawn*p*()'PATH'.os.path.当前平台上的换行符字符串.在POSIX上是'\n',或者在Windows上是'\r\n'.os.linesep(默认);使用'\n'代替,在所有平台上.空设备的文件路径.例如:POSIX'/dev/null'.versionnbytestring,作为加密使用pythonos模块中文帮助文档文章分类:Pythonpythonos翻译者:butalnd翻译于2010.1.7——2010.1.8,个人博客 unix中的函数大部分都被略过,翻译主要针对WINDOWS,翻译速度很快,open(),os.path模块,如果你想在命令行中,读入所有文件的所有fileinputtempfile模块创建临时文件和文件夹,更高级的文件和文件夹处理,请shutil模块。OSErrorexception导入依赖操作系统模块的名字。下面是目前被的名字:'posix','nt','mac','os2','ce','java',function和data一个map对象表示环境例如,environ['HOME']表示的你自己home文件夹的路径(某些平台支持,windows不支持)这个map对象在os模块第一次导入时被创建,一般在python启动时,作为site.py处理过程的一部分。在这一次之后改变environment不如果没有提供putenv(),map的修本传递给合适的创建过程函数,将导致子过程使environment。2.6FilesDirectories返回当前进程有效的groupid。对应于当前进程的可执行文件的"setidbit返回当前进程有效的useridunix中有效,请查看相关文档.返回当前进程支持的groupsidunix中有效,请查看相关文档.返回进程控制终端登陆用户的名字。在大多情况下它比使用environment变量LOGNAMEpwd.getpwuid(os.getuid())[0]得到当前有效用户id的登陆名更为有效。unix中有效,请查看相关文档.。pidgroupid.pid0,groupid。在unix中有效,请查看相id.在unix中有效,请查看相关文档.id.在unix中有效,请查看相关文档.os.getenv(varname[,environmentvarnamevalue不存在,默认为None.unix,Windows中有效。os.putenv(varname,varname环境变量为valueos.systempopen()fork()和execv()启unix,Windows中有效。id.在unix中有效,请查看相关文档.groupsid列表。groups必须是个列表,每个元素必须是个整数,这个unix中有效,请查看相关文档.。systemsetpgrp()setpgrp(0,0)()system.手册.unix中有效,请查看相关文档.os.setpgid(pid,systemsetpgid()pidgroupidpgrp.Unix手册.unix中有效,os.setreuid(ruid,processid.unix中有效,请查看相关文档.processid.在unix中有效,请查看相关文档.system的getsid().Unix手册.unix中有效,请查看相关文档.systemsetsid().Unix手册.unix中有效,请查看相关文档.userid.unix中有效,请查看相关文档.os.fdopen(fd[,mode[,fdmodebufsizeopen()函数unix,Windows中有效。mode必须以'rw',或者'a'开头,以'a'mode,O_APPEND位已设置.os.popen(command[,mode[,bufsize]])command打开一个管理。返回一个打开的连接到管道文件对象,文件对象可以读或写,在于模式是'r'(默认)或'w',bufsize参数,和内建的open()command(wait()函数中编码)close()返回值一样,除非返0(无错误终止),None.unix,Windows中有效。2.6版本中已抛弃.subprocess模块返回一个打开的模式为(w+b)的文件对象.这文件对象没有文件夹,没有文件描述符,将会自动删除.unix,Windows中有效。version2.6起:popen*()函数已抛弃.subprocess模块.os.popen2(cmd[,mode[,bufsize]])os.popen3(cmd[,mode[,bufsize]])os.popen4(cmd[,mode[,文件描述符是与当前进程打开的文件相对应的一些小整数.例如标准输入的通常文件描述符中0,标准输出是1,标准错误是2.进程打开的文件将被分配为3,4,5,等.这“文件描述符”有一点迷惑性;在Unix平台上,socket和pipe通常也使用文件描述符.fd.unix,WindowsI/O服务的,应用在os.open()pipe()返回的文件描述符上。关闭一个由open()或popen()fdopen()close()方法。os.closerange(fd_low,fd_high)forfdinxrange(fd_low,fd_high):exceptfdcope.unix,Windowsos.dup2(fd,fdfd2,如果有需要首先关闭fd2.unix,Windows od(fd,改变文件描述符为fd的文件’modemode查看od()mode的值.unix中version2.6中新增.os.fchown(fd,uid,gid)fd的文件的所有者和groupid为uid和gid.如果不想它们中的一个,设置为-1.unix中有效,请查看相关文档.version2.6中新增.强制将文件描述符为fd的文件写入硬盘.不强制更新metadata.unixMacOS中无效.os.fpathconf(fd,name)统值的字符串,这些名字在很多标准中指定(POSIX.1,Unix95,Unix98,和其它。一些平pathconf_names的字典中。对于不pathconf_namesunix中有统上不支持,即使它包含在pathconf_names中,将会抛出错误数字为errno.EINVAL的fdstatvfs().unix中有效,请查看相强制将文件描述符为fd的文件写入硬盘.在Unix,将调用fsync()函数;在Windows,如果你准备操作一个Python文件对象f,首先f.flush(),然后os.fsync(f.fileno()),确保与f相关的所有内存都写入了硬盘.unix,Windows中有效。os.ftruncate(fd,裁剪文件描述符fd对应的文件,所以它最大过文件大小.在unix中有效,请查看相fdtty(-like)true,False.os.lseek(fd,pos,fdpos,how方式修改:SEEK_SET或者0设置从文件开始的计算的pos;SEEK_CUR1则从当前位置计算os.SEEK_END或者2则从文件尾部开始.unix,Windows中有效。os.open(file,flags[,fileflagsflagsmodemodemode是0777八进制firstmaskedout.返回刚打开的文件描述符.unix,Windowsflagmode值C运行时文档flag常数(O_RDONLYandO_WRONLY)在这个模注:I/O服务的.open(),read()等方法创建的文件对象.包装文件描述符为“文件对象”,创建一个管道.返回一对文件描述符(rw)分别为读和写.unix,Windowsos.read(fd,从文件描述符fd中最多n个字节.返回包含字节的string.文件描述符fd对应文件已达到结尾,string.unix,Windows中有效。注:I/Oos.open()pipe()函数返回的文件描述符.内建函数open()或者bypopen()或者fdopen(),或者sys.stdin返回的一个“文件对象”,使用它的read()或者readline()方法.os.tcsetpgrp(fd,os.write(fd,fd中.返回实际写入的字符串长度.unix,Windows注:I/Oos.open()pipe()函数返回的文件描述符.内建函数open()或者bypopen()或者fdopen(),或者sys.stdin返回的一个“文,使用它的read()或者readline()方法下面的常数是open()函数的flags参数选项.它们可以使用bitwise合并或者operator|.它们中的一些常数并不是在所有平台都有效.它们使用请查看相关资料,在unix上参考open(2)手册页面,windows上http://m 这些常数在UnixandWindows上有效Unix上有效Windows上有效.这些常数是GNU扩展,如果没有在C库刚没有lseek()函数的参数.0,1,2.UnixandWindows上有效2.5新增os.access(path,使用现在的uid/gid尝试path.注大部分操作使用有效的uid/gid,因此运行环境可以在suid/sgid环境尝试,如果用户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()去测试用户是否.在实际使用open()打开一个文件前测试会创建一个安全前,因为用户会利用这短暂时间在检测和打开这个文件去修改它.注:access()succeedI/O操作也可能会失败,如网络文件系统.access()modepath是否可读.access()modepath是否可写.access()modepath是否可执行.. .在unix,Windows中有效 的字符串,在unix,Windows中有效 的Unicode对象.在unix,Windows中有效os.chflags(path, od(path,改变path的mode到数字modemode(stat模块中定义)或者bitwise或者注:尽管Windows支 od(),你只可以使用它设置只读flag(通过stat.S_IWRITEstat.S_IREAD常数或者一个相对应的整数)bits都忽略了os.chown(path,uid,os.lchflags(path,unix中有效,请查看相关文档.。version2.6. od(path,unix中有效,请查看相关文档.。version2.6.os.lchown(path,uid,unix中有效,请查看相关文档.。version2.3.os.link(source,返回path指定的文件夹包含的文件或文件夹的名字的列表.这个列表以字母顺序.'.'和'..'即使它在文件夹中.unix,WindowsChangedinversion2.3:在WindowsNT/2k/XPUnix,如果文件夹是一个Unicodeobject,结果将是Unicodeobjects列表.不能的文件名将仍然作为stringobjects返回.像stat(),但是没有符号.这是stat()的别名在某些平台上,例如Windows.os.mkfifo(path[,mode])os.mknod(filename[,mode=0600,pipe建或使用节点的权限,组合(或者bitwise)stat.S_IFREG,stat.S_IFCHR,stat.S_IFBLK,和stat.S_IFIFO(stat模块).stat.S_IFCHRstat.S_IFBLK,设备定义了创建的设备特殊文件(可能使用os.makedev()),其它都将忽略.version2.3.major(statst_devst_rdevversion2.3.minor(statst_devst_rdevfieldversion2.3.os.makedev(majorminor)majorminor设备号组成一个原始设备号.version2.3.os.mkdir(path[,modemodepath的文件夹.mode0777(八进制).在有些平台上,mode是忽略的.firstmaskedout.在unix,Windows也可以创建临时文件夹;tempfiletempfile.mkdtemp()函数.os.makedirs(path[,mode])(),抛出一个errorexception如果子文件夹已经存在或者不能创建.mode0777八进制).在有些平台上,mode是忽略的.当使用时。这当前的掩码值是firstmaskedout。注makedirs()UNC路径os.pathconf(path,path的文件.pathOSError;rmdir()删除一个directory.这和下面的unlink()函数文档是一样的.在Windows,尝试删除一个正在使用的文件将抛出一个exception;在Unix,directory会被删除但分配给文件的是无效的,直到原来的文件不再使用.unix,Windows中有效。递归删除directorie.像rmdir(),如果子文件夹成功删除removedirs()才尝试它们的父文件夹,直到抛出一个error它基本上被忽略因为它一般意味着你文件夹不为空例如,os.removedirs('foo/bar/baz')将首先删除'foo/bar/baz',然后删除'foo/bar'和'foo'如果它们是空的.如果子文件夹不能被成功删除,将抛出OSError.version1.5.2.os.rename(src重命名file或者directorysrc到dst.如果dst是一个存在的directory,将抛出OSError.在如果dst在存且是一个file,如果用户限的话,它将被安静的替换.操作将会失败在某些Unix中如果srcdst在不同的文件系统中.如果成功,这命名操作将会是一个原子操作(POSIX需要).Windows上,dst已经存在,OSError,即使它是一个文件.unix,Windows中有效。os.renames(old,versionpath文件夹.仅当这文件夹是空的才可以,否则,OSError.要删除整个文件夹树,shutil.rmtree().unix,Windows中有效。stat()path上.stat结构成员有关:st_mode(保护位st_inoinodenumberst_devdevicest_nlinknumberofhardlinks(idst_gidgroupidst_size(文件大小,以位为单位),st_atime(最近的时间st_mtime最近修改的时间st_ctime依赖于平台;在Unix上是metadata最近改变的时间,或者在Windows上是创建时间):>>>import>>>statinfo=>>>(33188,422511L,769L,1,1032,100, >>>statinfo.st_sizestat_float_times()True,timefloats,second进行计算一秒的小数部分也会显示出来,如果系统支持.在MacOS,时间常常是floats.查看stat_float_times()获取信Unix系统上(Linux),下面的属性也许是有效的:st_blocks(为文件分配了多少块st_blksizeblocksize),st_rdev(inode设备).st_flags(用户flags).stat_resultfloat对象显示时间戳path。在WindowsTMP.C库;使用tempnam()对于symlink是一个;考虑使用tmpfile()代替path.使用tempnam()对于symlink是一个;考虑使用tmpfile()代替tmpnam()将产生唯一名字的最大数值.删除file路径.与remove()相同 os.utime(path,返回指定的path文件的和修改的时间。如果时间是None,则文件的和修改设为当前时间。否则,时间是一个2-tuple数字,(atime,mtime)用来分别作为和修改的时间.unix,Windows中有效。输出在文件夹中的文件名通过在树中,向上或者向下.在根下的每一个文件夹(包含它自己),3-tuple(dirpath,dirnames,filenames)【文件夹路径,文件夹名字,文件名】.dirpath是一个字符串directory的路径dirnames在dirpath(filenamesdirpath不包含子文件夹的文件名的列表.names不包含path.为获得dirpath中的一个文件或者文件夹的完整路径(以顶开始或者,操作os.path.join(dirpath,name).optionaltopdownTruenot指定,directory3-tuple将比它的任何子文件夹的3-tuple(directories自上而下).topdownFalse,directory的3-tuple3-tuple后产生(directories自下而上)。topdownTrue,调用者可以修改列表中列出的文件夹名字(delslice),walk()仅仅递归每一个包含在dirnames中的子文件夹;可以减少查询,利用的特殊顺序,walk()walk()之前.修改文件名topdownFalse时是无效的,bottom-updirnamesdirectories比dirpath它自己先产生.listdir()errors将被忽略.optionalonerror被指定,它应该是一个函数;它调用时有一个参数,一个OSError实例.walk,或者抛出exception终止walk.filename是可用的的,exception对象的filename属性.默认,walk()不会进入符号version注:pathname,walk()执行过程中改变当前文件夹.walk()不会改变改前文件夹,同时确保它的调用者也不会改变.importfromos.pathimportjoin,forroot,dirs,filesinos.walk('python/Lib/'):printroot,"consumes",printsum(getsize(join(root,name))fornameinfiles),print"bytesin",len(files),"non-directoryfiles"if'CVS'in #don'tvisitCVS#Deleteeverythingreachablefromthedirectorynamedin"top",#assumingtherearenosymboliclinks.#CAUTION: Thisisdangerous! Forexample,iftop=='/',it#coulddeleteallyourdiskfiles.importforroot,dirs,filesinos.walk(top,topdown=False):fornameinfiles:os.remove(os.path.join(root,name))fornameindirs:versionexec*()arguments列表来载入新程序.在每个例子,一个用户敲入一个命令行中的第一个参数传递给程序作为它自己的名字而不是作为参数.对于C程序员来说,它main()argv[0例如,os.execv('/bin/echo',['foo','bar'])将仅仅在标准输出上打印bar;foo将被忽略.产生一个SIGABRT标识到当前的进程.在Unix,这默认的行为是产生一个主要的dump;在Windows,这进程立即返回退出以一个状态码为3.程序使用signal.signal()来一个SIGABRT将导致不同的行为.unix,Windows中有效。os.execl(path,arg0,arg1,os.execle(path,arg0,arg1,...,os.execlp(file,arg0,arg1,...)os.execlpe(file,arg0,arg1,...,env)os.execv(path,args)os.execve(path,args,env)os.execvp(file,args)os.execvpe(file,args,env)这些函数将执行一个新程序,替换当前进程;他们没有返回.Unix,的进程,id.ErrorsOSError时当前的进程立即被替代.打开文件对象和描述符不会被刷新,如果在这些打开的文件中有数exec*()sys.stdout.flush()os.fsync()flushn退出系统,unix,Windows中有效。注:sys.exit(n)._exit()fork()产生的子进程中.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.versionunix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.versionunix中有效,请查看相关文档.。version2.3.os.kill(pid,os.killpg(pgid,unix中有效,请查看相关文档.。version2.3.运行子进程,返回交流的打开的管道.这些函数面创建文件对象时介绍过.os.spawnl(mode,path,...)os.spawnle(mode,path,...,os.spawnlp(mode,file,...)os.spawnlpe(mode,file,...,env)os.spawnv(mode,path,args)os.spawnve(modepath,args,env)os.spawnvp(mode,file,args)os.spawnvpe(modefileargs,env)在新进程中执行程序path(subprocess模块,如果正常退出,或者-signal,当signal是killed.在Windows,进程id实际上是process的handle,所它可以使用于waitpid()函数.importL=['cp','index.html','/dev/null']os.spawnvpe(os.P_WAITcp',L,os.environ)unix,Windows中有效。versionspawn*()mode的可选值.如果给出其中任一个值,,id的值.unix,Windows中有效。version1.6.spawn*()mode的可能值.mode,spawn*()函数不返回,直接运行结束以及如果运行成功,将返回进程的退出码,或者如果signal杀掉了这个进程,将返回-signal.unix,Windows中有效。versionconsoleP_OVERLAY,当前进程将被替换,spawn*()函数将无返回。在Windows上有效。version当operation没有指定或者'open',这操作就像在WindowsExplorer双击文件,或者将这个文件start命令的参数:与文件扩展相关的程序打开文件。当指定另外操作时,它必须是“commandverb”它指定应该对文件做什么.像 'explore'and'find'(作用在文件夹上startfile()只要相关的应该程序一启动就返回。没有选项等待应用程序关闭,没有方法接收应用程序退出的状态pathdirectory相关.如果你想使用一个绝对路径,确保第一个('/')。使用os.path.normpath()函数确保路径对于win32来说是正确的.在上有效versionversion2.5:Theoperationparameter.在 中执行string命令.这是使用标准C函数system(),有同样的限制.例如改变Unix,请查看相当文档在Windows,返回值是在s 在unix,Windows中有效。5-tuple(处理器或者其它)累积时间,以秒为单位.items为:用户时间,系统time,子用户time,子系统time,和从过去一个固定的点真实流逝的时间.在unix,WindowsWindows,仅仅填充开始两项,0.os.waitpid(pid,Unix:等待一个指定的pid的子进程完成,返回一个tupleid.一般option0.Windowspid的进程完成,tupleid和退出状态8pid0没有特别的意思,egeroptions没有任何影响.pidid,id.unix中有效,请查看相关文档.。version2.5.os.wait4(pid,unix中有效,请查看相关文档.。version2.5.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.unix中有效,请查看相关文档.。version2.3.MiscellaneousSystemInformationunix中有效,请查看相关文档.。version2.3.操作系统用此常数字符串作为父文件夹的系统使用另外一个字符来分割路径,如果只有一个分割字符存在,则是None.version2.2.PTHos.pathexec*p*()spawn*p*()'PATH'.os.path.当前平台上的换行符字符串.在POSIX上是'\n',或者在Windows上是'\r\n'.os.linesep(默认);使用'\n'代替,在所有平台上.空设备的文件路径.例如:POSIX'/dev/null'.versionnbytestringhttplib—HTTPprotocolThismoduledefinesclasseswhichimplementtheclientsideoftheHTTPandHTTPSprotocols.Itisnormallynotuseddirectly—themoduleurllibusesittohandleURLsthatuseHTTPandHTTPS.pythonAPIhttplib这个组件实现了HTTP和HTTPS的客户端协议,它通常不被直接使 URLsHTTPurlliburlliburllib2urllib2urllib更高一个层次。目前的HTTP大部分都使用urllib2来进行Pythonreq= response=the_pageresponse.read()FTPPythonreq= urlopenresponseinfo()geturl()URLURLDatapostPythonvalues={'body':'testshortdata=requrllib2.Request(url,data)getPythondata['name']='Somebodydata['location']=data['language']=url_values=url= full_url=url+'?'+data=URLError--Pythonfromurllib2importRequest,urlopen,URLError,req=response=exceptHTTPError,print'Errorcode:',exceptURLError,print'Reason:',Pythonfromurllib2importRequest,urlopen,req=response=exceptURLError,ifhasattr(e,print'Reason:',elifhasattr(e,print'Errorcode:',req=urllib2.Request('exceptURLError,e:printe.reasonprinte.codeprinte.read()URLErrorHTTPErrorHTTPError,Openershandler的某些方面,如,HTTP。opener(handlers)ProxyHandler,UnknownHandler,HTTPHandler,HTTPDefaultErrorHandler,HTTPRedirectHandler,FTPHandler,FileHandler,pythonAPI:ReturnanOpenerDirectorinstance,whichchainsthehandlersintheordergivenopenerPythonclass defhttp_open(self, returnself.do_open(httplib.HTTPConnection,http_request HTTPHandlerOpenershttplibOpenersHandlers初学PythonPythonstr对象自带由于我是初学,所以肯定会有些错误,还望高手不吝赐教,我的错误Python的正则表达式的模块是‘re’,它的基本语则就是指定一个字符序列,比如你要在一个字符串s=’123abc456’中查找字符串’abc’,只要这样写:>>>import>>>>>>['abc',这里用到的函数”findall(rule,target[,flag])”是个比较直观的函数,就是为什么要用r’..‘字符串(raw字符串)?由于正则式的规则也是由一个字符串定义的,而在正则式中大量使用转义字符’\’,如果不用raw字符串,则在需要写一个’\’的地方,你必须得写成’\\’,那么在要从r’’来定义规则字符串。当然,某些情况下,可能不用raw字符串比较好。现复杂的规则查找,re规定了若干语则。它们分为这么几类: :‘.’‘*’‘+’‘|’‘?’‘^’‘$’‘\’等,它们有特殊的功能含义。规则分界符:‘[‘‘]’‘(’‘)’‘{‘‘}’预定义转义字符集:“\d” “\w”“\s”等等,它们是以字符’\’开头,后面接’#’‘!’‘:’‘-‘等,它们只在特定的情况下表示特殊的含义,比如(?#…)就表示一个注释,里面的内容会被忽略。基本规 ‘]’字符集合设定字符集合,能够匹配包含在其中的任意一个字符。比如[abc123],表明字符’a’‘b’‘c’‘1’‘2’‘3’都符合它的要求。可以被匹配。在’[‘‘]’’-‘减号来指定一个字符集合的范围,比如可以用[a-z如果在’[‘‘]’里面的开头写一个‘^’号,则表示取非,即在括号里的字符都不匹配。如[^a-zA-Z]‘^’不在开头,则它就^’ 如[a-zA-Z]|[0-9][a-zA-注意:关于’|’要注意两点 它在’[‘‘]’之中不再表示或,而表示他本身的字符。如果要在’[‘‘]’外面表示一个’|’字符,必须用反斜杠引导,即’\|’;第二,它的有效范围是它两边的整条规则,比如‘dog|cat’匹配的是‘d‘(?:)’Ihaveadog’或’Ihaveacat’r’Ihavea(?:dog|cat)’,而不能写成r’Ihaveadog|cat’例>>>s=‘Ihaveadog,Ihavea>>>re.findall(r’Ihavea(?:dog|cat)’,s['Ihaveadog','Ihaveacat'] >>>re.findall(r’Ihaveadog|cat’,s['Ihaveadog','cat'] #它将’Ihaveadog’和’cat’当成两‘.’匹配所有字>>>s=’123\n456>>>findall(r‘.+’,s)['123','456','789']>>>re.findall(r‘.+’,s,re.S)‘^’和’$’匹配字符串开头和结[]’[‘‘]’compile函‘\d’匹配数‘\D’匹配非数大小写。下面我们还将看到Python的正则规则中很多转义字符的大小写形式,‘\w’匹配字母和数‘\W’匹配非英文字母和数‘\s’匹配间即匹配空格符、制表符、回车符等表示分隔意义的字符,它等价于[\t\r\n\f\‘\S’匹配非间隔即间隔符的补集,等价于[^‘\A’匹配字符串开‘\Z’匹配字符串结>>>s='1234\n56>>>re.findall(r'^\d+',s,re.M) ['12','56','90']>>>re.findall(r’\A\d+’,s,re.M) >>>re.findall(r'\d+$',s,re.M) ['34','78','90']>>>re.findall(r’\d+\Z’,s,re.M) ‘\b’匹配单词边>>>s 'abcabcdebc>>>re.findall(r’\bbc\b’,s) #‘bc’,而当它是 #只找到了那个单独的>>>re.findall(r’\sbc\s’,s) #匹配一个单独的单词['bc'] ‘\B’匹配非和’\b’0长度字符。>>>re.findall(r’\Bbc\w+’,s) #成功匹配了’abcde’中的’bcde’,而没有匹配‘(?:)’无捕获时,你需要将这部分规则用’(?:’‘)’把它包围起来,而不能仅仅只用一对括号,例:匹配字符串中重复的>>>s=’ababababbabb>>>re.findall(r’\b(?:ab)+\b’,s)>>>re.findall(r’\b(ab)+\b’,s)‘(?#)’注Python允许你在正则表达式中写入注释,在’(?#’‘)’(?iux)编译选项指Python的正则式可以指定一些选项,这个选项可以写在findall或compile的些。具体的选项含义请看后面的compile函数的说明。此处编译选项’i’IGNORECASELLOC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论