python常用模块.docx
《python常用模块.docx》由会员分享,可在线阅读,更多相关《python常用模块.docx(120页珍藏版)》请在冰豆网上搜索。
python常用模块
python中os模块中文帮助文档
文章分类:
Python编程
python中os模块中文帮助文档
翻译者:
butalnd翻译于2010.1.7——2010.1.8,个人博客:
注此模块中关于unix中的函数大部分都被略过,翻译主要针对WINDOWS,翻译速度很快,其中很多不足之处请多多包涵。
这个模块提供了一个轻便的方法使用要依赖操作系统的功能。
如何你只是想读或写文件,请使用open()
如果你想操作文件路径,请使用os.path模块,如果你想在命令行中,读入所有文件的所有行,请使用
fileinput模块。
使用tempfile模块创建临时文件和文件夹,更高级的文件和文件夹处理,请使用shutil模块。
os.error
内建OSErrorexception的别名。
os.name
导入依赖操作系统模块的名字。
下面是目前被注册的名字:
'posix','nt','mac','os2','ce','java','riscos'.
下面的function和data项是和当前的进程和用户有关
os.environ
一个mapping对象表示环境。
例如,environ['HOME'],表示的你自己home文件夹的路径(某些平台支持,windows不支持)
,它与C中的getenv("HOME")一致。
这个mapping对象在os模块第一次导入时被创建,一般在python启动时,作为site.py处理过程的一部分。
在这一次之后改变environment不
影响os.environ,除非直接修改os.environ.
注:
putenv()不会直接改变os.environ,所以最好是修改os.environ
注:
在一些平台上,包括FreeBSD和MacOSX,修改environ会导致内存泄露。
参考putenv()的系统文档。
如果没有提供putenv(),mapping的修改版本传递给合适的创建过程函数,将导致子过程使用一个修改的environment。
如果这个平台支持unsetenv()函数,你可以删除mapping中的项目。
当从os.environ使用pop()或clear()删除一个项目时,unsetenv()会自动被调用(版本2.6)。
os.chdir(path)
os.fchdir(fd)
os.getcwd()
这些函数在Files和Directories中。
os.ctermid()
返回进程控制终端的文件名。
在unix中有效,请查看相关文档.。
os.getegid()
返回当前进程有效的group的id。
对应于当前进程的可执行文件的"setid"的bit位。
在unix中有效,请查看相关文档.。
os.geteuid()
返回当前进程有效的user的id。
在unix中有效,请查看相关文档.。
os.getgid()
返回当前进程当前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,返回当前进程的groupid。
在unix中有效,请查看相关文档.。
os.getpgrp()
返回当前进程组的id.在unix中有效,请查看相关文档.。
os.getpid()
返回当前进程的id.在unix,Windows中有效。
os.getppid()
返回当前父进程的id.在unix中有效,请查看相关文档.。
os.getuid()
返回当前当前进程用户的id.在unix中有效,请查看相关文档.。
os.getenv(varname[,value])
返回environment变量varname的值,如果value不存在,默认为None.在大多版本的unix,Windows中有效。
os.putenv(varname,value)
设置varname环境变量为value值。
此改变影响以os.system(),popen()或fork()和execv()启动的子进程。
在大多版本的unix,Windows中有效。
当支持putenv()时,在os.environ分配项目时,自动调用合适的putenv()。
然而,调用putenv()不会更新os.environ,所以直接设置os.environ的项。
os.setegid(egid)
设置当前进程有效组的id.在unix中有效,请查看相关文档.。
os.seteuid(euid)
设置当前进程有效用户的id.在unix中有效,请查看相关文档.。
os.setgid(gid)
设置当前进程组的id.在unix中有效,请查看相关文档.。
os.setgroups(groups)
设置当前进程支持的groupsid列表。
groups必须是个列表,每个元素必须是个整数,这个操作只对超级用户有效,在unix中有效,请查看相关文档.。
os.setpgrp()
调用system的setpgrp()或setpgrp(0,0)(),依赖于使用的是哪个版本的system.请查看Unix手册.在unix中有效,请查看相关文档.。
os.setpgid(pid,pgrp)
调用system的setpgid()设置pid进程group的id为pgrp.请查看Unix手册.在unix中有效,请查看相关文档.。
os.setreuid(ruid,euid)
设置当前process当前和有效的用户id.在unix中有效,请查看相关文档.。
os.setregid(rgid,egid)
设置当前process当前和有效的组id.在unix中有效,请查看相关文档.。
os.getsid(pid)
调用system的getsid().请查看Unix手册.在unix中有效,请查看相关文档.。
os.setsid()
调用system的setsid().请查看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和bufsize参数,和内建的open()函数是同一个意思。
在unix,Windows中有效。
mode必须以'r','w',或者'a'开头,否则抛出ValueError.
以'a'开头的mode,文件描述符中O_APPEND位已设置.
os.popen(command[,mode[,bufsize]])
给或从一个command打开一个管理。
返回一个打开的连接到管道文件对象,文件对象可以读或写,在于模式是'r'(默认)或'w',bufsize参数,和内建的open()函数是同一个意思。
command返回的状态(在wait()函数中编码)和调用文件对象的close()返回值一样,除非返回值是0(无错误终止),返回None.在unix,Windows中有效。
在2.6版本中已抛弃.使用subprocess模块.
os.tmpfile()
返回一个打开的模式为(w+b)的文件对象.这文件对象没有文件夹入口,没有文件描述符,将会自动删除.在unix,Windows中有效。
从version2.6起:
所有的popen*()函数已抛弃.使用subprocess模块.
os.popen2(cmd[,mode[,bufsize]])
os.popen3(cmd[,mode[,bufsize]])
os.popen4(cmd[,mode[,bufsize]])
16.1.3.文件描述符操作
这些函数操作使用文件描述符引用的I/Ostream。
文件描述符是与当前进程打开的文件相对应的一些小整数.例如标准输入的通常文件描述符中0,标准输出是1,标准错误是2.进程打开的更多文件将被分配为3,4,5,等.这“文件描述符”有一点迷惑性;在Unix平台上,socket和pipe通常也使用文件描述符引用.
os.close(fd)
关闭文件描述符fd.在unix,Windows中有效。
这函数是为低层的I/O服务的,应用在os.open()或pipe()返回的文件描述符上。
关闭一个由内建函数open()或popen()或fdopen()打开的文件对象,使用close()方法。
os.closerange(fd_low,fd_high)
关闭从fd_low(包含)到fd_high(不包含)所有的文件描述符,忽略错误。
在unix,Windows中有效。
等同于:
forfdinxrange(fd_low,fd_high):
try:
os.close(fd)
exceptOSError:
pass
os.dup(fd)
返回文件描述符fd的cope.在unix,Windows中有效。
os.dup2(fd,fd2)
复制文件描述符fd到fd2,如果有需要首先关闭fd2.在unix,Windows中有效。
os.fchmod(fd,mode)
改变文件描述符为fd的文件’mode‘为mode.查看chmod()文档中mode的值.在unix中有效,请查看相关文档.。
version2.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)
返回一个打开的文件的系统配置信息。
name为检索的系统配置的值,它也许是一个定义系统值的字符串,这些名字在很多标准中指定(POSIX.1,Unix95,Unix98,和其它)。
一些平台也定义了一些额外的名字。
这些名字在主操作系统上pathconf_names的字典中。
对于不在pathconf_names中的配置变量,传递一个数字作为名字,也是可以接受的。
在unix中有效,请查看相关文档.。
如果name是一个字符串或者未知的,将抛出ValueError。
如果name是一个特别的值,在系统上不支持,即使它包含在pathconf_names中,将会抛出错误数字为errno.EINVAL的OSError。
os.fstat(fd)
返回文件描述符fd的状态,像stat()。
在unix,Windows中有效。
os.fstatvfs(fd)
返回包含文件描述符fd的文件的文件系统的信息,像statvfs().在unix中有效,请查看相关文档.。
os.fsync(fd)
强制将文件描述符为fd的文件写入硬盘.在Unix,将调用fsync()函数;在Windows,调用_commit()函数.
如果你准备操作一个Python文件对象f,首先f.flush(),然后os.fsync(f.fileno()),确保与f相关的所有内存都写入了硬盘.在unix,Windows中有效。
os.ftruncate(fd,length)
裁剪文件描述符fd对应的文件,所以它最大不能超过文件大小.在unix中有效,请查看相关文档.。
os.isatty(fd)
如果文件描述符fd是打开的,同时与tty(-like)设备相连,则返回true,否则False.在unix中有效,请查看相关文档.。
os.lseek(fd,pos,how)
设置文件描述符fd当前位置为pos,how方式修改:
SEEK_SET或者0设置从文件开始的计算的pos;SEEK_CUR或者1则从当前位置计算;os.SEEK_END或者2则从文件尾部开始.在unix,Windows中有效。
os.open(file,flags[,mode])
打开file同时根据flags设置变量flags,如果有mode,则设置它的mode.默认的mode是0777(八进制),当前掩码值是firstmaskedout.返回刚打开的文件描述符.在unix,Windows中有效。
flag和mode值,请查看C运行时文档;flag常数(像O_RDONLYandO_WRONLY)在这个模块中也定义了(在下面).
注:
这函数是打算为低层I/O服务的.正常的使用,使用内建函数open(),返回read()和write()等方法创建的文件对象.包装文件描述符为“文件对象”,使用fdopen().
os.openpty()
在一些Unix平台上有效,请查看相关文档.
os.pipe()
创建一个管道.返回一对文件描述符(r,w)分别为读和写.在unix,Windows中有效。
os.read(fd,n)
从文件描述符fd中读取最多n个字节.返回包含读取字节的string.文件描述符fd对应文件已达到结尾,返回一个空string.在unix,Windows中有效。
注:
这函数是打算为低层I/O服务的,同时必须应用在os.open()或者pipe()函数返回的文件描述符.读取内建函数open()或者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中有效。
注:
这函数是打算为低层I/O服务的,同时必须应用在os.open()或者pipe()函数返回的文件描述符.读取内建函数open()或者bypopen()或者fdopen(),或者sys.stdin返回的一个“文件对象”,使用它的read()或者readline()方法.
下面的常数是open()函数的flags参数选项.它们可以使用bitwise合并或者operator|.它们中的一些常数并不是在所有平台都有效.它们更多使用请查看相关资料,在unix上参考open
(2)手册页面,windows上
os.O_RDONLY
os.O_WRONLY
os.O_RDWR
os.O_APPEND
os.O_CREAT
os.O_EXCL
os.O_TRUNC
这些常数在UnixandWindows上有效.
os.O_DSYNC
os.O_RSYNC
os.O_SYNC
os.O_NDELAY
os.O_NONBLOCK
os.O_NOCTTY
os.O_SHLOCK
os.O_EXLOCK
这些常数仅在Unix上有效.
os.O_BINARY
os.O_NOINHERIT
os.O_SHORT_LIVED
os.O_TEMPORARY
os.O_RANDOM
os.O_SEQUENTIAL
os.O_TEXT
这些常数仅在Windows上有效.
os.O_ASYNC
os.O_DIRECT
os.O_DIRECTORY
os.O_NOFOLLOW
os.O_NOATIME
这些常数是GNU扩展,如果没有在C库声明刚没有.
os.SEEK_SET
os.SEEK_CUR
os.SEEK_END
lseek()函数的参数.它们的值分别是0,1,和2.在UnixandWindows上有效.
版本2.5新增.
16.1.4.文件和文件夹
os.access(path,mode)
使用现在的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()表明它将succeed,但I/O操作也可能会失败,如网络文件系统.
os.F_OK
作为access()的mode参数,测试path是否存在.
os.R_OK
包含在access()的mode参数中,测试path是否可读.
os.W_OK
包含在access()的mode参数中,测试path是否可写.
os.X_OK
包含在access()的mode参数中,测试path是否可执行..
os.chdir(path)
改变当前工作目录.在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到数字mode.mode为下面中的一个(在stat模块中定义)或者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支持chmod(),你只可以使用它设置只读flag(通过stat.S_IWRITE和stat.S_IREAD常数或者一个相对应的整数)。
所有其它的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.
os.link(source,link_name)
在unix中有效,请查看相关文档.。
os.listdir(path)
返回path指定的文件夹包含的文件或文件夹的名字的列表.这个列表以字母顺序.它不包括'.'和'..'即使它在文件夹中.在unix,Windows中有效。
Changedinversion2.3:
在WindowsNT/2k/XP和Unix,如果文件夹是一个Unicodeobject,结果将是Unicodeobjects列表.不能解码的文件名将仍然作为stringobjects返回.
os.lstat(path)
像stat(),但是没有符号链接.这是stat()的别名在某些平台上,例如Windows.
os.mkfifo(path[,mode])
在unix中有效,请查看相关文档.。
os.mknod(filename[,mode=0600,device])
创建一个名为filename文件系统节点(文件,设备特别文件或者命名pipe)。
mode指定创建或使用节点的权限,组合(或者bitwise)stat.S_IFREG,stat.S_IFCHR,stat.S_IFBLK,和stat.S_IFIFO(这些常数在stat模块).对于stat.S_IFCHR和stat.S_IFBLK,设备定义了最新创建的设备特殊文件(可能使用os.makedev()),其它都将忽略.
新增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.