13. 通用的操作系统功能库(2)

来源:互联网 发布:网络连接正常上不了网 编辑:程序博客网 时间:2024/06/08 04:32

os.setpgrp()

设置当前进程组的组标识号。仅用于Unix

 

os.setpgid(pid, pgrp)

调用系统setpgid()函数来设置组标识号。仅用于Unix

 

os.setpriority(which, who, priority)

设置程序调度优先级。仅用于Unix

 

os.setregid(rgid, egid)

设置当前进程实际和有效的组标识号。仅用于Unix

 

os.setresgid(rgid, egid, sgid)

设置当前进程的实际、有效和保存的组标识号。仅用于Unix

 

os.setresuid(ruid, euid, suid)

设置当前进程的实际、有效和保存的用户标识号。仅用于Unix

 

os.setreuid(ruid, euid)

设置当前进程的实际和有效的用户标识号。仅用于Unix

 

os.getsid(pid)

调用系统getsid()函数。仅用于Unix

 

os.setsid()

调用系统setsid()函数。仅用于Unix

 

os.setuid(uid)

设置当前进程的用户标识号。仅用于Unix

 

os.strerror(code)

返回错误码的消息字符串。

 

os.supports_bytes_environ

如果OS的环境类型变量是基于bytes的返回True。在Windows上返回False

 

os.umask(mask)

设置当前数字标志,并返回前面的数据标志。

 

os.uname()

返回当前操作系统进程信息。仅用于Unix

 

os.unsetenv(key)

取消环境变量的值设置。

 

os.fdopen(fd, *args, **kwargs)

返回连接到文件fd的文件对象。

 

os.close(fd)

关闭文件,参数fd是文件描述符。

 

os.closerange(fd_low, fd_high)

关闭一批文件,参数fd_low是文件描述符低边界,fd_high是文件描述符高边界。

 

os.device_encoding(fd)

返回与fd使用的编码名称。

 

os.dup(fd)

返回文件描述符fd的拷贝对象。

 

os.dup2(fd, fd2, inheritable=True)

拷贝fdfd2,如果需要会把fd关闭。

 

os.fchmod(fd, mode)

改变fd的文件模式,设置为mode。仅用于Unix

 

os.fchown(fd, uid, gid)

改变fd的用户标识uid,组标识gid。仅用于Unix

 

os.fdatasync(fd)

强制写fd 到磁盘,但不更新元数据。仅用于Unix

 

os.fpathconf(fd, name)

返回fd文件环境配置信息。仅用于 Unix

 

os.fstat(fd)

返回文件fd的状态。

 

os.fstatvfs(fd)

返回fd的文件系统的信息。仅用于Unix

 

os.fsync(fd)

强迫文件系统把fd所有数据写到磁盘。

 

os.ftruncate(fd, length)

修改文件fd为指定长度length。仅用于Unix

 

os.isatty(fd)

如果fd打开,并连接到tty设备,就返回True,否则返回False

 

os.lockf(fd, cmd, len)

给文件fd指定相应的锁状态。os.F_LOCKos.F_TLOCKos.F_ULOCKos.F_TEST。仅用于Unix

 

os.lseek(fd, pos, how)

修改文件指针指向文件的具体位置。os.SEEK_SET,os.SEEK_CUR,os.SEEK_END

 

os.open(file, flags, mode=0o777, *, dir_fd=None)

根据标志flags和方式mode来打开文件file,返回文件对象。flags标志的参数:

os.O_RDONLY

os.O_WRONLY

os.O_RDWR

os.O_APPEND

os.O_CREAT

os.O_EXCL

os.O_TRUNC

以上参数适用于UnixWindows

os.O_DSYNC

os.O_RSYNC

os.O_SYNC

os.O_NDELAY

os.O_NONBLOCK

os.O_NOCTTY

os.O_SHLOCK

os.O_EXLOCK

os.O_CLOEXEC

以上参数仅用于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.openpty()

打开一对模拟终端(master, slave)。

 

os.pipe()

创建一个管道,返回读写文件句柄(r, w)

 

os.pipe2(flags)

根据标志flags来创建管道。

 

os.posix_fallocate(fd, offset, len)

确认磁盘是否有足够空间保存此长度的文件。仅用于Unix

 

os.posix_fadvise(fd, offset, len, advice)

通知系统要访问数据,系统可以根据指定的标志进行优化。

 

os.pread(fd, buffersize, offset)

从文件fd里指定位置offset读取buffersize大小数据返回。仅用于Unix

 

os.pwrite(fd, string, offset)

写数据string到文件fd的位置offset。仅用于Unix

 

os.read(fd, n)

从文件fd里读取n个字节返回bytes对象。

 

os.sendfile(out, in, offset, nbytes)

os.sendfile(out, in, offset, nbytes, headers=None, trailers=None, flags=0)

从文件inoffset位置拷贝nbytes个字节发送到文件out输出。仅用于Unix

 

os.readv(fd, buffers)

从文件fd里读取数据到可变对象buffers里,它是bytes类型。仅用于Unix

 

os.tcgetpgrp(fd)

返回文件fd的对应的进程组。仅用于Unix

 

os.tcsetpgrp(fd, pg)

设置文件fd对应的进程组。仅用于Unix

 

os.ttyname(fd)

返回文件fd对应的终端设备名称。仅用于Unix

 

os.write(fd, str)

把数据str写文件fd,返回实际写入字节的长度。

 

os.writev(fd, buffers)

bytes对象写入文件fd。仅用于Unix

 

os.get_terminal_size(fd=STDOUT_FILENO)

返回终端窗口的大小,以元组方式返回(column, lines)

 

os.access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True)

用实际的uid/gid来测试文件是否可以访问。os.F_OKos.R_OKos.W_OKos.X_OK

 

os.chdir(path)

改变当前工作目录到path下。

 

os.chflags(path, flags, *, follow_symlinks=True)

修改路径的标志。其中flags是以下的值组合:

stat.UF_NODUMP

stat.UF_IMMUTABLE

stat.UF_APPEND

stat.UF_OPAQUE

stat.UF_NOUNLINK

stat.UF_COMPRESSED

stat.UF_HIDDEN

stat.SF_ARCHIVED

stat.SF_IMMUTABLE

stat.SF_APPEND

stat.SF_NOUNLINK

stat.SF_SNAPSHOT

仅用于Unix

 

os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)

改变路径path为指定的模式modemode是以下的值组合:

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

 

os.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True)

改变路径path的用户标识号和组标识号。仅用于Unix

 

os.chroot(path)

改变当前进程的根目录路径。仅用于Unix

 

os.fchdir(fd)

把当前目录改到文件fd所在的目录。仅用于Unix

 

os.getcwd()

以字符串的方式返回当前工作目录。

 

os.getcwdb()

以字节的方式返回当前工作目录。

 

os.lchflags(path, flags)

设置路径 pathflags标志。仅用于Unix

 

os.lchmod(path, mode)

改变路径path为模式mode。仅用于Unix

 

os.lchown(path, uid, gid)

改变路径path的用户标识号和组标识号。仅用于Unix

 

os.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True)

创建一个快捷连接dst,它指向src

 

os.listdir(path='.')

返回给出目录path下所有文件列表。

 

os.lstat(path, *, dir_fd=None)

返回文件状态,与系统函数lstat()一样,与stat()区别时,它不能用于符号连接的快捷方式。

 

os.mkdir(path, mode=0o777, *, dir_fd=None)

使用mode来创建一个目录路径path

 

os.makedirs(name, mode=0o777, exist_ok=False)

递归地创建路径里包括的所有目录,使用模式mode。与mkdir()函数区别是mkdir()函数只创建最后那个目录,如果中间目录不存在,就会抛出异常,而makedirs()函数会检查路径中所有目录,如果那个目录不存在,就会创建。

 

os.mkfifo(path, mode=0o666, *, dir_fd=None)

创建一个FIFO的命令管道,管道名称为path,模式为mode。仅用于Unix

 

os.mknod(filename, mode=0o600, device=0, *, dir_fd=None)

创建一个文件节点,名称为filename

 

os.major(device)

获取主要设备号。

 

os.minor(device)

获取次要设备号。

 

os.makedev(major, minor)

组合主设备号和次设备号。

 

os.pathconf(path, name)

返回路径下文件名name相关的系统配置信息。 仅用于Unix

 

os.pathconf_names

pathconf()fpathconf()函数定义的映射的名称。仅用于Unix

 

os.readlink(path, *, dir_fd=None)

返回路径path指向的符号连接字符串。

 

os.remove(path, *, dir_fd=None)

删除指定路径path的文件。

 

os.removedirs(name)

递归地删除目录。与rmdir()函数相比,它可以删除所有目录,不像rmdir()函数只删除最后那个目录。

 

os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None)

修改文件或目录src为目标dst的名称。

 

os.renames(old, new)

一次性地修改一个路径里多个目录名,比如/path1/path2/path3修改为/path8/path8/path8

 

os.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None)

重新命名一个路径src为目标名称dst,如果有相同的名称,默认替换它。

 

os.rmdir(path, *, dir_fd=None)

删除空的目录路径path

 

os.stat(path, *, dir_fd=None, follow_symlinks=True)

根据给出的路径path来查看它的状态。

 

os.stat_float_times([newvalue])

检查stat_result值是表示浮点数对象,如果是返回True,否则返回False

 

os.statvfs(path)

对给出的路径path进行系统调用statvfs()。仅用于Unix

 

os.supports_dir_fd

一个Set结果集说明那些函数可以使用dir_fd参数。

 

os.supports_effective_ids

一个Set结果集说明那些函数可以使用effective_ids参数。

 

os.supports_fd

一个Set结果集说明那些函数可以使用fd作为路径参数。

 

os.symlink(source, link_name, target_is_directory=False, *, dir_fd=None)

创建一个连接名称为link_name指向路径source

 

os.sync()

强制写入磁盘。仅用于Unix

 

os.truncate(path, length)

对文件路径path的文件进行修改到指定长度length。仅用于Unix

 

os.unlink(path, *, dir_fd=None)

删除路径或文件。

 

os.utime(path, times=None, *, ns=None, dir_fd=None, follow_symlinks=True)

修改路径下的文件path的访问时间和修改时间。

 

os.walk(top, topdown=True, onerror=None, followlinks=False)

遍历一个目录,生成这个目录树,可以从顶向下,也可以从下向上去生成。返回元素(dirpath, dirnames, filenames),其中dirpath是目录名称,dirnames是此目录下的子目录名称,filenames是此目录下的文件名称。

例子:

import os

from os.path import join, getsize

for root, dirs, files in os.walk('python/Lib/email'):

    print(root, "consumes", end=" ")

    print(sum(getsize(join(root, name)) for name in files), end=" ")

    print("bytes in", len(files), "non-directory files")

    if 'CVS' in dirs:

        dirs.remove('CVS')  # don't visit CVS directories

 

os.fwalk(top='.', topdown=True, onerror=None, *, follow_symlinks=False, dir_fd=None)

它的功能与函数walk()一样,不过它返回多一个结果,返回四个元素的元组(dirpath, dirnames, filenames, dirfd),其中参数dirfd是目录dirpath描述符信息。

例子:

import os

for root, dirs, files, rootfd in os.fwalk('python/Lib/email'):

    print(root, "consumes", end="")

    print(sum([os.stat(name, dir_fd=rootfd).st_size for name in files]),

          end="")

    print("bytes in", len(files), "non-directory files")

    if 'CVS' in dirs:

        dirs.remove('CVS')  # don't visit CVS directories

 

os.abort()

生成一个SIGABRT信号,退出当前进程。

 

os.execl(path, arg0, arg1, ...)

os.execle(path, arg0, arg1, ..., env)

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)

执行一个新程序,替换当前进程。

 

os._exit(n)

指明状态码n退出当前进程。

 

os.fork()

创建一个子进程。仅用于Unix

 

os.forkpty()

创建一个子进程,并创建一个新的控制终端,返回(pid, fd)。仅用于Unix

 

os.kill(pid, sig)

发送信号给pid进程。

 

os.killpg(pgid, sig)

发送信号sig到进程组pgid。仅用于Unix

 

os.nice(increment)

增加increment到进程的niceness里,返回新值。仅用于Unix

 

os.plock(op)

锁住程序在内存里使用的内存段。仅用于Unix

 

os.popen(...)

打开一个子进程,并返回一个通讯管道。

 

os.spawnl(mode, path, ...)

os.spawnle(mode, path, ..., env)

os.spawnlp(mode, file, ...)

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)

在一个新进程里执行一个程序。

 

os.startfile(path[, operation])

打开路径指向的应用程序。

 

os.system(command)

shell里执行一个系统命令。

 

os.times()

返回当前全局进程的时间。

user - 用户时间。

system - 系统时间。

children_user - 所有子进程用户时间。

children_system - 所有子进程系统时间。

elapsed - 从过去某个固定点算起经过的时间。

 

os.wait()

等待子进程结束,并返回元组包含pid和退出的状态码。仅用于Unix

 

os.waitid(idtype, id, options)

等待一个或多个子进程结束。仅用于Unix

 

os.waitpid(pid, options)

等待pid进程结束,返回进程pid和状态码。



蔡军生 QQ:9073204  深圳

0 0
原创粉丝点击