python常用模块-.pdf
《python常用模块-.pdf》由会员分享,可在线阅读,更多相关《python常用模块-.pdf(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、python 中 os 模块中文帮助文档文章分类:Python 编程python 中 os 模块中文帮助文档翻译者:butalnd 翻译于 2010.1.7 2010.1.8,个人博客:http:/ 中的函数大部分都被略过,翻译主要针对WINDOWS,翻译速度很快,其中很多不足之处请多多包涵。这个模块提供了一个轻便的方法使用要依赖操作系统的功能。如何你只是想读或写文件,请使用 open(),如果你想操作文件路径,请使用os.path模块,如果你想在命令行中,读入所有文件的所有行,请使用fileinput 模块。使用tempfile 模块创建临时文件和文件夹,更高级的文件和文件夹处理,请使用 s
2、hutil 模块。os.error 内建 OSError exception 的别名。os.name 导入依赖操作系统模块的名字。下面是目前被注册的名字:posix,nt,mac,os2,ce,java,riscos.下面的 function 和 data项是和当前的进程和用户有关os.environ 一个 mapping 对象表示环境。例如,environHOME,表示的你自己home 文件夹的路径(某些平台支持,windows 不支持),它与 C 中的 getenv(HOME)一致。这个 mapping 对象在 os 模块第一次导入时被创建,一般在 python 启动时,作为 site.p
3、y 处理过程的一部分。在这一次之后改变environment 不影响 os.environ,除非直接修改os.environ.注:putenv()不会直接改变os.environ,所以最好是修改os.environ 注:在一些平台上,包括 FreeBSD 和 Mac OS X,修改 environ 会导致内存泄露。参考putenv()的系统文档。如果没有提供putenv(),mapping 的修改版本传递给合适的创建过程函数,将导致子过程使用一个修改的environment。如果这个平台支持unsetenv()函数,你可以删除mapping 中的项目。当从 os.environ 使用 pop(
4、)或 clear()删除一个项目时,unsetenv()会自动被调用(版本2.6)。os.chdir(path)os.fchdir(fd)os.getcwd()这些函数在Files 和 Directories 中。os.ctermid()返回进程控制终端的文件名。在unix 中有效,请查看相关文档.。os.getegid()返回当前进程有效的group 的 id。对应于当前进程的可执行文件的set id 的 bit 位。在 unix中有效,请查看相关文档.。os.geteuid()返回当前进程有效的user的 id。在 unix 中有效,请查看相关文档.。os.getgid()返回当前进程当前
5、group 的 id。在 unix 中有效,请查看相关文档.。os.getgroups()返回当前进程支持的groups 的 id 列表。在unix 中有效,请查看相关文档.。os.getlogin()返回进程控制终端登陆用户的名字。在大多情况下它比使用environment 变量LOGNAME来得到用户名,或使用 pwd.getpwuid(os.getuid()0 得到当前有效用户id 的登陆名更为有效。在 unix 中有效,请查看相关文档.。os.getpgid(pid)返回 pid 进程的 group id.如果 pid 为 0,返回当前进程的group id。在 unix 中有效,请查
6、看相关文档.。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)设置
7、 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
8、(gid)设置当前进程组的id.在 unix 中有效,请查看相关文档.。os.setgroups(groups)设置当前进程支持的groups id 列表。groups 必须是个列表,每个元素必须是个整数,这个操作只对超级用户有效,在unix 中有效,请查看相关文档.。os.setpgrp()调用 system 的 setpgrp()或 setpgrp(0,0)(),依赖于使用的是哪个版本的system.请查看Unix手册.在 unix 中有效,请查看相关文档.。os.setpgid(pid,pgrp)调用 system的 setpgid()设置 pid 进程 group 的 id 为 pgr
9、p.请查看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(u
10、id)设置当前user id.在 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 中有效。mo
11、de 必须以 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 版本中已抛弃.使用 subproce
12、ss模块.os.tmpfile()返回一个打开的模式为(w+b)的文件对象.这文件对象没有文件夹入口,没有文件描述符,将会自动删除.在 unix,Windows 中有效。从 version 2.6 起:所有的 popen*()函数已抛弃.使用 subprocess模块.os.popen2(cmd,mode,bufsize)os.popen3(cmd,mode,bufsize)os.popen4(cmd,mode,bufsize)16.1.3.文件描述符操作这些函数操作使用文件描述符引用的I/O stream。文件描述符是与当前进程打开的文件相对应的一些小整数.例如标准输入的通常文件描述符中0,
13、标准输出是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(不包含)所有的文件描述符,忽略错误
14、。在 unix,Windows中有效。等同于:for fd in xrange(fd_low,fd_high):try:os.close(fd)except OSError: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 中有效,请查看相关文档.。version 2.6 中
15、新增.os.fchown(fd,uid,gid)改变文件描述符为fd 的文件的所有者和group 的 id 为 uid 和 gid.如果不想它们中的一个,就设置为-1.在 unix 中有效,请查看相关文档.。version 2.6 中新增.os.fdatasync(fd)强制将文件描述符为fd 的文件写入硬盘.不强制更新metadata.在 unix 中有效,请查看相关文档.。注:在 MacOS 中无效.os.fpathconf(fd,name)返回一个打开的文件的系统配置信息。name 为检索的系统配置的值,它也许是一个定义系统值的字符串,这些名字在很多标准中指定(POSIX.1,Unix
16、95,Unix 98,和其它)。一些平台也定义了一些额外的名字。这些名字在主操作系统上pathconf_names 的字典中。对于不在 pathconf_names 中的配置变量,传递一个数字作为名字,也是可以接受的。在 unix 中有效,请查看相关文档.。如果 name 是一个字符串或者未知的,将抛出 ValueError。如果 name是一个特别的值,在系统上不支持,即使它包含在pathconf_names 中,将会抛出错误数字为errno.EINVAL的OSError。os.fstat(fd)返回文件描述符fd 的状态,像stat()。在 unix,Windows 中有效。os.fsta
17、tvfs(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 中有效
18、,请查看相关文档.。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,则设置
19、它的mode.默认的 mode 是0777(八进制),当前掩码值是first masked out.返回刚打开的文件描述符.在 unix,Windows中有效。flag 和 mode 值,请查看 C 运行时文档;flag 常数(像 O_RDONL Y and O_WRONL Y)在这个模块中也定义了(在下面).注:这函数是打算为低层I/O 服务的.正常的使用,使用内建函数open(),返回 read()和 write()等方法创建的文件对象.包装文件描述符为“文件对象”,使用 fdopen().os.openpty()在一些 Unix 平台上有效,请查看相关文档.os.pipe()创建一个管道
20、.返回一对文件描述符(r,w)分别为读和写.在 unix,Windows 中有效。os.read(fd,n)从文件描述符fd 中读取最多n 个字节.返回包含读取字节的string.文件描述符fd 对应文件已达到结尾,返回一个空string.在 unix,Windows 中有效。注:这函数是打算为低层I/O 服务的,同时必须应用在os.open()或者 pipe()函数返回的文件描述符.读取内建函数open()或者 by popen()或者 fdopen(),或者 sys.stdin 返回的一个“文件对象”,使用它的read()或者 readline()方法.os.tcgetpgrp(fd)在
21、unix 中有效,请查看相关文档.。os.tcsetpgrp(fd,pg)在 unix 中有效,请查看相关文档.。os.ttyname(fd)在 unix 中有效,请查看相关文档.。os.write(fd,str)写入字符串到文件描述符fd 中.返回实际写入的字符串长度.在 unix,Windows 中有效。注:这函数是打算为低层I/O 服务的,同时必须应用在os.open()或者 pipe()函数返回的文件描述符.读取内建函数open()或者 by popen()或者 fdopen(),或者 sys.stdin 返回的一个“文件对象”,使用它的read()或者 readline()方法.下面
22、的常数是open()函数的flags 参数选项.它们可以使用bitwise 合并或者 operator|.它们中的一些常数并不是在所有平台都有效.它们更多使用请查看相关资料,在unix上参考open(2)手册页面,windows 上 http:/ Y os.O_WRONL Y os.O_RDWR os.O_APPEND os.O_CREAT os.O_EXCL os.O_TRUNC 这些常数在Unix and Windows 上有效.os.O_DSYNC os.O_RSYNC os.O_SYNC os.O_NDELAY os.O_NONBLOCK os.O_NOCTTY os.O_SHLOCK
23、 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.在
24、Unix and Windows 上有效.版本 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()
25、去测试用户是否授权.在实际使用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(p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- python 常用 模块
限制150内