找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 1208|回复: 179

有关`os` 模块主要的函数和变量有哪 些?

[复制链接]
发表于 2023-6-9 21:28:28 | 显示全部楼层 |阅读模式
`os` 模块是 Python 中的一个内置模块,提供了与操作系统交互的一些函数和变量。以下是 `os` 模块的一些常用函数和变量:

- `os.name`: 返回当前操作系统的名称,例如 Windows 是 'nt',Linux/Unix 是 'posix'。
- `os.getcwd()`: 获取当前工作目录。
- `os.chdir(path)`: 切换当前工作目录到指定路径。
- `os.listdir(path='.')`: 列出指定路径下的所有文件和目录,如果没有指定路径则默认为当前工作目录。
- `os.mkdir(path, mode=0o777, *, dir_fd=None)`: 创建一个新的目录,其中 `path` 为要创建的目录路径,`mode` 为权限模式,默认为 `0o777`。
- `os.remove(path, *, dir_fd=None)`: 删除指定路径下的文件。
- `os.rmdir(path, *, dir_fd=None)`: 删除指定路径下的空目录。
- `os.path.join(path, *paths)`: 将多个路径组合成一个完整的路径。
- `os.path.exists(path)`: 判断指定路径是否存在。
- `os.path.isdir(path)`: 判断指定路径是否为目录。
- `os.path.isfile(path)`: 判断指定路径是否为文件。

除了这些函数和变量外,`os` 模块还提供了很多其他的函数和变量,可以通过 Python 的官方文档或者 `help(os)` 命令来查看。

回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:28:42 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.environ`: 包含环境变量的字典。
- `os.getenv(key, default=None)`: 获取指定环境变量的值,如果不存在则返回默认值。
- `os.putenv(key, value)`: 设置指定环境变量的值。
- `os.system(command)`: 在命令行执行指定的命令。
- `os.path.abspath(path)`: 返回指定路径的绝对路径。
- `os.path.basename(path)`: 返回指定路径的文件名或目录名。
- `os.path.dirname(path)`: 返回指定路径的父目录。
- `os.path.split(path)`: 将指定路径分割成目录和文件名两部分。
- `os.path.splitext(path)`: 将指定路径分割成文件名和扩展名两部分。
- `os.path.getsize(path)`: 返回指定路径文件的大小,单位为字节。
- `os.path.isabs(path)`: 判断指定路径是否为绝对路径。
- `os.path.join(path, *paths)`: 将多个路径组合成一个完整的路径。
- `os.path.normpath(path)`: 规范化指定路径,并返回规范化后的路径。
- `os.path.samefile(path1, path2)`: 判断指定的两个路径是否引用同一个文件。

需要注意的是,`os` 模块中的一些函数在不同的操作系统上可能会有所不同。因此,在使用这些函数时应该注意它们的平台兼容性。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:28:54 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True)`: 判断指定路径是否具有指定的权限。
- `os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)`: 修改指定路径的权限模式。
- `os.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True)`: 修改指定路径的所有者和所属组。
- `os.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True)`: 创建一个硬链接,将 `src` 链接到 `dst`。
- `os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None)`: 将指定路径的文件或目录重命名为新的名称。
- `os.symlink(src, dst, *, target_is_directory=False)`: 创建一个符号链接,将 `src` 链接到 `dst`。
- `os.path.commonprefix(list)`: 返回一个列表中所有路径的公共前缀。
- `os.path.relpath(path, start='.')`: 返回从当前工作目录到指定路径的相对路径。
- `os.path.sameopenfile(fp1, fp2)`: 判断两个文件描述符是否引用同一个文件。
- `os.path.walk(top, func, arg)`: 遍历指定路径下的所有文件和目录,并对它们执行指定的函数。

需要注意的是,一些函数(如 `os.link`、`os.rename`、`os.symlink`)可能需要管理员权限才能正常执行。因此,在使用这些函数时应该小心谨慎,并遵循操作系统的安全规范。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:29:08 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.execvp(file, args)`: 在当前进程中执行指定的可执行文件。
- `os.fork()`: 创建一个子进程,并返回子进程的进程 ID。
- `os.kill(pid, sig)`: 向指定进程发送信号。
- `os.path.expanduser(path)`: 将指定路径中的 `~` 和 `~user` 转换为用户的家目录路径。
- `os.path.expandvars(path)`: 将指定路径中的环境变量替换为对应的值。
- `os.path.islink(path)`: 判断指定路径是否为符号链接。
- `os.path.realpath(path)`: 返回指定路径的真实路径。
- `os.path.walk(top, func, arg)`: 遍历指定路径下的所有文件和目录,并对它们执行指定的函数。
- `os.urandom(n)`: 生成指定长度的随机字节串。

需要注意的是,一些函数(如 `os.fork()`)只在类 Unix 操作系统上可用,而在 Windows 上则不可用。因此,在使用这些函数时应该注意它们的平台兼容性。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:29:19 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.makedirs(name, mode=0o777, exist_ok=False)`: 递归创建多个目录,如果目录已经存在则不会抛出异常。
- `os.chroot(path)`: 将指定路径设置为当前进程的根目录。
- `os.getpid()`: 获取当前进程的进程 ID。
- `os.getppid()`: 获取当前进程的父进程的进程 ID。
- `os.getuid()`: 获取当前进程的用户 ID。
- `os.getgid()`: 获取当前进程的组 ID。
- `os.setuid(uid)`: 将当前进程的用户 ID 设置为指定的值。
- `os.setgid(gid)`: 将当前进程的组 ID 设置为指定的值。
- `os.umask(mask)`: 设置当前进程的文件创建权限掩码。

需要注意的是,一些函数(如 `os.chroot()`、`os.setuid()`、`os.setgid()`)只在具有特定权限的情况下才能使用。因此,在使用这些函数时应该小心谨慎,并遵循操作系统的安全规范。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:29:30 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.makedirs(name, mode=0o777, exist_ok=False)`: 递归创建多个目录,如果目录已经存在则不会抛出异常。
- `os.chroot(path)`: 将指定路径设置为当前进程的根目录。
- `os.getpid()`: 获取当前进程的进程 ID。
- `os.getppid()`: 获取当前进程的父进程的进程 ID。
- `os.getuid()`: 获取当前进程的用户 ID。
- `os.getgid()`: 获取当前进程的组 ID。
- `os.setuid(uid)`: 将当前进程的用户 ID 设置为指定的值。
- `os.setgid(gid)`: 将当前进程的组 ID 设置为指定的值。
- `os.umask(mask)`: 设置当前进程的文件创建权限掩码。

需要注意的是,一些函数(如 `os.chroot()`、`os.setuid()`、`os.setgid()`)只在具有特定权限的情况下才能使用。因此,在使用这些函数时应该小心谨慎,并遵循操作系统的安全规范。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:29:40 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.symlink(src, dst)`: 创建一个符号链接,将 `src` 链接到 `dst`。
- `os.readlink(path)`: 返回指定符号链接的目标路径。
- `os.chflags(path, flags)`: 修改指定路径的文件标志。
- `os.lchflags(path, flags)`: 类似于 `os.chflags()`,但不会跟随符号链接。
- `os.chroot(path)`: 将指定路径设置为当前进程的根目录。
- `os.fchdir(fd)`: 切换当前工作目录到指定的文件描述符所表示的目录。
- `os.ftruncate(fd, length)`: 将指定文件描述符所表示的文件截断为指定长度。
- `os.lockf(fd, operation, length=0, start=0, whence=0)`: 对指定文件描述符所表示的文件进行加锁或解锁操作。
- `os.statvfs(path)`: 获取指定路径所在文件系统的信息。

需要注意的是,一些函数(如 `os.symlink()`、`os.chroot()`、`os.fchdir()`)只在具有特定权限的情况下才能使用。因此,在使用这些函数时应该小心谨慎,并遵循操作系统的安全规范。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:29:53 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.stat(path, *, dir_fd=None, follow_symlinks=True)`: 获取指定路径的文件状态信息。
- `os.lstat(path, *, dir_fd=None)`: 类似于 `os.stat()`,但不会跟随符号链接。
- `os.fstat(fd)`: 获取指定文件描述符所表示的文件的状态信息。
- `os.stat_result`: 表示文件状态信息的命名元组类型。
- `os.utime(path, times=None, *, ns=None, dir_fd=None, follow_symlinks=True)`: 修改指定路径的访问时间和修改时间。
- `os.futimes(fd, times)`: 修改指定文件描述符所表示的文件的访问时间和修改时间。
- `os.mknod(path, mode=0o600, device=0)`: 创建一个特殊文件节点。
- `os.mkfifo(path, mode=0o600, *, dir_fd=None)`: 创建一个命名管道。
- `os.major(device)`: 返回指定设备号的主设备号。
- `os.minor(device)`: 返回指定设备号的次设备号。

需要注意的是,一些函数(如 `os.mknod()`、`os.mkfifo()`)只在具有特定权限的情况下才能使用。因此,在使用这些函数时应该小心谨慎,并遵循操作系统的安全规范。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:30:04 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.path.abspath(path)`: 返回指定路径的绝对路径。
- `os.path.normpath(path)`: 返回规范化后的路径,将所有 `.` 和 `..` 路径段解析为实际的目录。
- `os.path.split(path)`: 将指定路径分割成目录和文件名两个部分,并返回一个元组。
- `os.path.join(path, *paths)`: 将多个路径拼接为一个完整的路径。
- `os.path.splitext(path)`: 将指定路径的文件名和扩展名分离,并返回一个元组。
- `os.path.commonprefix(list)`: 返回一个列表中所有路径的公共前缀。
- `os.path.relpath(path, start='.')`: 返回从当前工作目录到指定路径的相对路径。
- `os.path.samefile(path1, path2)`: 判断两个路径是否指向同一个文件或目录。
- `os.path.ismount(path)`: 判断指定路径是否为挂载点。
- `os.path.expanduser(path)`: 将指定路径中的 `~` 和 `~user` 转换为用户的家目录路径。

需要注意的是,一些函数(如 `os.path.ismount()`、`os.path.samefile()`)只在类 Unix 操作系统上可用,而在 Windows 上则不可用。因此,在使用这些函数时应该注意它们的平台兼容性。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:30:15 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.path.walk(top, func, arg)`: 遍历指定路径下的所有文件和目录,并对它们执行指定的函数。
- `os.path.getatime(path)`: 返回指定路径的最近访问时间。
- `os.path.getmtime(path)`: 返回指定路径的最近修改时间。
- `os.path.getctime(path)`: 返回指定路径的创建时间(在某些操作系统上可能无法使用)。
- `os.path.getsize(path)`: 返回指定路径的大小,单位为字节。
- `os.path.isdir(path)`: 判断指定路径是否为目录。
- `os.path.isfile(path)`: 判断指定路径是否为普通文件。
- `os.path.islink(path)`: 判断指定路径是否为符号链接。
- `os.path.isabs(path)`: 判断指定路径是否为绝对路径。
- `os.path.exists(path)`: 判断指定路径是否存在。

需要注意的是,一些函数(如 `os.path.getctime()`)只在某些操作系统上可用,而在其他操作系统上则不可用。因此,在使用这些函数时应该注意它们的平台兼容性。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:30:26 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.get_terminal_size(fallback=(columns, lines))`: 返回终端的宽度和高度,其中 `fallback` 参数指定当无法获取终端大小时使用的默认值。
- `os.get_blocking(fd)`: 获取指定文件描述符的阻塞模式。
- `os.set_blocking(fd, blocking)`: 设置指定文件描述符的阻塞模式。
- `os.get_inheritable(fd)`: 获取指定文件描述符的继承标志。
- `os.set_inheritable(fd, inheritable)`: 设置指定文件描述符的继承标志。
- `os.getcwdb()`: 获取当前工作目录的字节串形式。
- `os.getcwdu()`: 获取当前工作目录的 Unicode 字符串形式。
- `os.fspath(path)`: 将指定路径转换为字符串形式,如果路径已经是字符串则不做任何处理。
- `os.scandir(path='.')`: 返回指定路径下的所有文件和目录,以 `DirEntry` 对象的形式表示。

需要注意的是,一些函数(如 `os.get_terminal_size()`、`os.scandir()`)只在 Python 3.3 及以上版本可用,而在 Python 2.x 版本中则不可用。因此,在使用这些函数时应该注意 Python 版本兼容性。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:30:36 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.DirEntry`: 表示目录中的一个条目,包括文件名、路径、文件类型等信息。
- `os.DirEntry.name`: 目录条目的文件名。
- `os.DirEntry.path`: 目录条目的完整路径。
- `os.DirEntry.is_file()`: 判断目录条目是否为普通文件。
- `os.DirEntry.is_dir()`: 判断目录条目是否为目录。
- `os.DirEntry.is_symlink()`: 判断目录条目是否为符号链接。
- `os.DirEntry.stat()`: 获取目录条目的状态信息。
- `os.DirEntry.inode()`: 获取目录条目的 inode 号码(仅在类 Unix 系统上可用)。
- `os.DirEntry.file_type()`: 获取目录条目的文件类型,返回一个字符串。

需要注意的是,`os.DirEntry` 对象只在 Python 3.5 及以上版本可用,而在 Python 2.x 版本中则不可用。因此,在使用这些函数时应该注意 Python 版本兼容性。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:30:46 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.getuid()`: 返回当前进程的实际用户 ID。
- `os.getgid()`: 返回当前进程的实际组 ID。
- `os.geteuid()`: 返回当前进程的有效用户 ID。
- `os.getegid()`: 返回当前进程的有效组 ID。
- `os.setuid(uid)`: 修改当前进程的实际用户 ID(需要 root 权限)。
- `os.setgid(gid)`: 修改当前进程的实际组 ID(需要 root 权限)。
- `os.seteuid(uid)`: 修改当前进程的有效用户 ID(需要 root 权限)。
- `os.setegid(gid)`: 修改当前进程的有效组 ID(需要 root 权限)。
- `os.getresuid()`: 返回当前进程的实际用户 ID、有效用户 ID 和保存的设置用户 ID。
- `os.getresgid()`: 返回当前进程的实际组 ID、有效组 ID 和保存的设置组 ID。
- `os.setresuid(ruid, euid, suid)`: 修改当前进程的实际用户 ID、有效用户 ID 和保存的设置用户 ID(需要 root 权限)。
- `os.setresgid(rgid, egid, sgid)`: 修改当前进程的实际组 ID、有效组 ID 和保存的设置组 ID(需要 root 权限)。

需要注意的是,修改用户 ID 和组 ID 的函数(如 `os.setuid()`、`os.setgid()`)只在类 Unix 系统上可用,并且需要 root 权限才能执行。因此,在使用这些函数时应该小心谨慎,并遵循操作系统的安全规范。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:30:58 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.getpriority(which, who)`: 返回指定进程或用户的调度优先级。
- `os.setpriority(which, who, priority)`: 修改指定进程或用户的调度优先级(需要 root 权限)。
- `os.nice(inc)`: 修改当前进程的优先级。
- `os.sched_getparam(pid)`: 获取指定进程的调度参数。
- `os.sched_getscheduler(pid)`: 获取指定进程的调度策略。
- `os.sched_setscheduler(pid, policy, param)`: 设置指定进程的调度策略和参数(需要 root 权限)。
- `os.sched_get_priority_min(policy)`: 返回指定调度策略的最小优先级。
- `os.sched_get_priority_max(policy)`: 返回指定调度策略的最大优先级。

需要注意的是,一些函数(如 `os.setpriority()`、`os.sched_setscheduler()`)只在类 Unix 系统上可用,并且需要 root 权限才能执行。因此,在使用这些函数时应该小心谨慎,并遵循操作系统的安全规范。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:31:08 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.fork()`: 创建一个新的进程,并在子进程中返回 0,父进程中返回子进程的 PID。
- `os.execv(path, args)`: 在当前进程中执行指定的可执行文件。
- `os.execl(path, arg0, arg1, ...)`: 在当前进程中执行指定的可执行文件,参数以字符串形式依次传递。
- `os.execve(path, args, env)`: 在当前进程中执行指定的可执行文件,并指定新的环境变量。
- `os.execlp(file, arg0, arg1, ...)`: 在当前进程中执行指定的可执行文件,从 PATH 环境变量中查找文件路径。
- `os.execvp(file, args)`: 在当前进程中执行指定的可执行文件,从 PATH 环境变量中查找文件路径。
- `os.getpid()`: 返回当前进程的 PID。
- `os.getppid()`: 返回当前进程的父进程的 PID。
- `os.setsid()`: 创建一个新的会话并成为该会话的组长进程。
- `os.ctermid()`: 返回当前控制终端的设备文件名。

需要注意的是,`os.fork()` 和 `os.exec*()` 函数只在类 Unix 系统上可用,并且在 Windows 上不可用。因此,在使用这些函数时应该注意它们的平台兼容性。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:31:20 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.pipe()`: 创建一个管道,返回两个文件描述符(读端和写端)。
- `os.mkfifo(path, mode=0o666, *, dir_fd=None)`: 创建一个命名管道。
- `os.access(path, mode, *, dir_fd=None, effective_ids=False)`: 判断指定路径是否具有指定的权限。
- `os.umask(mask)`: 设置当前进程的文件创建屏蔽字,并返回原来的值。
- `os.chroot(path)`: 将指定路径设置为当前进程的根目录(需要 root 权限)。
- `os.getloadavg()`: 返回系统的平均负载(仅在类 Unix 系统上可用)。
- `os.sched_getaffinity(pid)`: 获取指定进程的 CPU 亲和性(仅在类 Unix 系统上可用)。
- `os.sched_setaffinity(pid, cpus)`: 设置指定进程的 CPU 亲和性(需要 root 权限,仅在类 Unix 系统上可用)。

需要注意的是,一些函数(如 `os.mkfifo()`、`os.chroot()`、`os.sched_getaffinity()`)只在特定平台或 Python 版本上可用。因此,在使用这些函数时应该注意它们的平台和版本兼容性。同时,部分函数(如 `os.chroot()`、`os.sched_setaffinity()`)需要 root 权限才能执行,使用时应该小心谨慎。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:32:04 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.getenv(key, default=None)`: 返回指定环境变量的值。
- `os.putenv(key, value)`: 设置指定环境变量的值。
- `os.unsetenv(key)`: 删除指定环境变量。
- `os.urandom(n)`: 生成指定长度的随机字节串。
- `os.system(command)`: 在新的子进程中执行指定命令,并等待其完成。
- `os.popen(command, mode='r', buffering=-1)`: 在新的子进程中执行指定命令,并返回一个类文件对象。
- `os.popen2(command, mode='t', bufsize=-1)`: 在新的子进程中执行指定命令,并返回两个类文件对象(输入和输出)。
- `os.popen3(command, mode='t', bufsize=-1)`: 在新的子进程中执行指定命令,并返回三个类文件对象(输入、输出和错误)。
- `os.popen4(command, mode='t', bufsize=-1)`: 在新的子进程中执行指定命令,并返回两个类文件对象(输入和输出),以及进程退出状态。

需要注意的是,`os.system()` 和 `os.popen*()` 函数只能用于执行外部命令,并且在 Windows 上可能会受到一些限制。因此,在使用这些函数时应该小心谨慎,并遵循操作系统的安全规范。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:32:48 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.path.abspath(path)`: 返回指定路径的绝对路径。
- `os.path.basename(path)`: 返回指定路径的最后一级目录或文件名。
- `os.path.dirname(path)`: 返回指定路径的父级目录。
- `os.path.exists(path)`: 判断指定路径是否存在。
- `os.path.getatime(path)`: 返回指定路径的最后访问时间(以秒数表示)。
- `os.path.getmtime(path)`: 返回指定路径的最后修改时间(以秒数表示)。
- `os.path.getctime(path)`: 返回指定路径的创建时间(以秒数表示)。
- `os.path.getsize(path)`: 返回指定路径的大小(以字节为单位)。
- `os.path.isabs(path)`: 判断指定路径是否为绝对路径。
- `os.path.isfile(path)`: 判断指定路径是否为普通文件。
- `os.path.isdir(path)`: 判断指定路径是否为目录。
- `os.path.islink(path)`: 判断指定路径是否为符号链接。
- `os.path.ismount(path)`: 判断指定路径是否为挂载点。
- `os.path.join(path, *paths)`: 将多个路径拼接为一个完整路径。
- `os.path.normcase(path)`: 将指定路径转换为标准格式。
- `os.path.normpath(path)`: 将指定路径转换为标准路径。
- `os.path.realpath(path)`: 返回指定路径的真实路径(解析符号链接)。
- `os.path.relpath(path, start='.')`: 返回指定路径相对于起始路径的相对路径。

需要注意的是,`os.path` 模块提供的函数可以用于处理路径字符串,并且在不同的操作系统上具有一定的兼容性。但是,在使用这些函数时应该小心谨慎,并遵循操作系统的文件系统规范。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:33:39 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.listdir(path='.')`: 返回指定目录下的所有文件和目录名。
- `os.mkdir(path, mode=0o777, *, dir_fd=None)`: 创建一个新的目录。
- `os.makedirs(name, mode=0o777, exist_ok=False)`: 创建多级目录。
- `os.rmdir(path, *, dir_fd=None)`: 删除指定目录(该目录必须为空)。
- `os.removedirs(name)`: 递归删除指定路径中的空目录。
- `os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None)`: 将指定路径的文件或目录重命名。
- `os.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None)`: 将指定路径的文件或目录移动或重命名。
- `os.remove(path, *, dir_fd=None)`: 删除指定路径的文件。
- `os.unlink(path, *, dir_fd=None)`: 删除指定路径的文件。
- `os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)`: 修改指定路径的权限。
- `os.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True)`: 修改指定路径的所有者和所属组。
- `os.lchown(path, uid, gid, *, follow_symlinks=True)`: 修改指定符号链接的所有者和所属组。
- `os.symlink(src, dst, *, target_is_directory=False)`: 创建指定路径的符号链接。
- `os.readlink(path, *, dir_fd=None)`: 返回指定路径的符号链接指向的路径。
- `os.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None)`: 创建指定路径的硬链接。
- `os.utime(path, times=None, *, ns=None, dir_fd=None, follow_symlinks=True)`: 修改指定路径的访问时间和修改时间。

需要注意的是,部分函数(如 `os.makedirs()`、`os.removedirs()`、`os.symlink()`、`os.link()`)只在类 Unix 系统上可用,并且在 Windows 上不可用。因此,在使用这些函数时应该注意它们的平台兼容性。另外,一些函数(如 `os.chmod()`、`os.chown()`、`os.lchown()`)需要 root 权限才能执行,使用时应该小心谨慎。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:34:21 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.path.walk(top, func, arg)`: 遍历指定目录及其子目录,并对每个文件调用指定函数。
- `os.walk(top, topdown=True, onerror=None, followlinks=False)`: 遍历指定目录及其子目录,并返回每个目录下的文件和目录名。
- `os.path.samefile(path1, path2)`: 判断指定路径是否为同一个文件或目录。
- `os.path.commonprefix(list)`: 返回指定路径列表中所有路径的共同前缀。
- `os.path.split(path)`: 将指定路径分割为目录和文件名两部分。
- `os.path.splitext(path)`: 将指定路径分割为文件名和扩展名两部分。
- `os.path.expanduser(path)`: 将指定路径中的 `~` 替换为当前用户的主目录。
- `os.path.expandvars(path)`: 将指定路径中的环境变量替换为其值。
- `os.path.join(path, *paths)`: 将多个路径拼接为一个完整路径。
- `os.path.relpath(path, start='.')`: 返回指定路径相对于起始路径的相对路径。
- `os.path.supports_unicode_filenames`: 表示操作系统是否支持 Unicode 文件名。

需要注意的是,`os.path.walk()` 函数已经在 Python 3.4 中被废弃,建议使用 `os.walk()` 替代。另外,`os.path` 模块提供的函数可以用于处理路径字符串,并且在不同的操作系统上具有一定的兼容性。但是,在使用这些函数时应该小心谨慎,并遵循操作系统的文件系统规范。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:35:07 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.pipe()`:创建一个管道并返回两个文件描述符(分别对应管道的读端和写端)。
- `os.dup(fd)`:复制文件描述符 `fd` 并返回一个新的文件描述符。
- `os.dup2(old_fd, new_fd)`:将文件描述符 `old_fd` 复制到 `new_fd`,并关闭 `new_fd` 所指向的文件描述符。
- `os.ftruncate(fd, length)`:将文件描述符 `fd` 所指向的文件截断到指定长度。
- `os.statvfs(path)`:返回指定路径所在文件系统的信息。
- `os.fstatvfs(fd)`:返回文件描述符 `fd` 所指向文件所在文件系统的信息。
- `os.getcwdb()`:返回当前工作目录的字节串形式。
- `os.getlogin()`:返回当前登录用户的用户名。
- `os.getgroups()`:返回当前进程所属的所有用户组 ID。
- `os.setgroups(groups)`:设置当前进程所属的用户组 ID。
- `os.initgroups(username, gid)`:重新初始化当前进程所属的用户组 ID。
- `os.getgid()`:返回当前进程的用户组 ID。
- `os.setgid(gid)`:设置当前进程的用户组 ID。
- `os.getuid()`:返回当前进程的用户 ID。
- `os.setuid(uid)`:设置当前进程的用户 ID。

需要注意的是,部分函数(如 `os.dup()`、`os.dup2()`、`os.ftruncate()`)只在类 Unix 系统上可用,并且在 Windows 上不可用。另外,一些函数(如 `os.setgid()`、`os.setuid()`)需要 root 权限才能执行,使用时应该小心谨慎。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:35:50 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.fork()`:创建一个子进程并返回两次,分别在父进程和子进程中返回。
- `os.waitpid(pid, options)`:等待指定进程结束并返回其退出状态。
- `os.execvp(file, args)`:用指定的可执行文件替换当前进程,并传递给它一组参数。
- `os.execvpe(file, args, env)`:用指定的可执行文件替换当前进程,并传递给它一组参数和环境变量。
- `os.kill(pid, signal)`:向指定进程发送指定信号。
- `os.killpg(pgid, signal)`:向指定进程组发送指定信号。
- `os.setpgid(pid, pgid)`:将指定进程的进程组 ID 设置为指定值。
- `os.getpgid(pid)`:返回指定进程的进程组 ID。
- `os.getpgrp()`:返回当前进程所在的进程组 ID。
- `os.setpgrp()`:将当前进程加入到一个新的进程组中,并将该进程组的 ID 设置为当前进程的进程 ID。
- `os.tcgetpgrp(fd)`:返回给定终端设备的前台进程组 ID。
- `os.tcsetpgrp(fd, pgrp)`:将给定终端设备的前台进程组 ID 设置为指定值。

需要注意的是,部分函数(如 `os.fork()`、`os.exec*()`、`os.kill()`)只在类 Unix 系统上可用,并且在 Windows 上不可用。因此,在使用这些函数时应该注意它们的平台兼容性。另外,一些函数(如 `os.setpgid()`、`os.tcgetpgrp()`)需要 root 权限才能执行,使用时应该小心谨慎。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:36:46 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.pipe()`:创建一个管道并返回两个文件描述符(分别对应管道的读端和写端)。
- `os.dup(fd)`:复制文件描述符 `fd` 并返回一个新的文件描述符。
- `os.dup2(old_fd, new_fd)`:将文件描述符 `old_fd` 复制到 `new_fd`,并关闭 `new_fd` 所指向的文件描述符。
- `os.ftruncate(fd, length)`:将文件描述符 `fd` 所指向的文件截断到指定长度。
- `os.statvfs(path)`:返回指定路径所在文件系统的信息。
- `os.fstatvfs(fd)`:返回文件描述符 `fd` 所指向文件所在文件系统的信息。
- `os.getcwdb()`:返回当前工作目录的字节串形式。
- `os.getlogin()`:返回当前登录用户的用户名。
- `os.getgroups()`:返回当前进程所属的所有用户组 ID。
- `os.setgroups(groups)`:设置当前进程所属的用户组 ID。
- `os.initgroups(username, gid)`:重新初始化当前进程所属的用户组 ID。
- `os.getgid()`:返回当前进程的用户组 ID。
- `os.setgid(gid)`:设置当前进程的用户组 ID。
- `os.getuid()`:返回当前进程的用户 ID。
- `os.setuid(uid)`:设置当前进程的用户 ID。

需要注意的是,部分函数(如 `os.dup()`、`os.dup2()`、`os.ftruncate()`)只在类 Unix 系统上可用,并且在 Windows 上不可用。另外,一些函数(如 `os.setgid()`、`os.setuid()`)需要 root 权限才能执行,使用时应该小心谨慎。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:37:32 | 显示全部楼层
非常抱歉,我的回答出现了重复。以下是 `os` 模块的其他常用函数和变量:

- `os.environ`: 表示当前进程环境变量的字典。
- `os.getenv(key, default=None)`: 返回指定环境变量的值。
- `os.putenv(key, value)`: 设置指定环境变量的值。
- `os.unsetenv(key)`: 删除指定环境变量。
- `os.urandom(n)`: 返回一个包含 `n` 个随机字节的二进制字符串。
- `os.system(command)`: 在子 shell 中执行指定命令。
- `os.popen(command, mode='r', buffering=-1)`: 在子进程中执行指定命令,并返回一个类似于文件的对象,可以使用其 `read()`、`write()` 等方法进行读写操作。
- `os.startfile(path, operation=None)`: 在 Windows 上打开指定的文件或目录。
- `os.path.samefile(path1, path2)`: 判断指定路径是否为同一个文件或目录。
- `os.path.commonprefix(list)`: 返回指定路径列表中所有路径的共同前缀。

需要注意的是,`os.environ` 字典可以用于读取、修改和删除当前进程的环境变量。但是,在使用它时应该小心谨慎,避免误操作导致系统出错。另外,一些函数(如 `os.startfile()`)只在特定的操作系统上可用,使用时应该注意它们的平台兼容性。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:38:22 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.makedirs(name, mode=0o777, exist_ok=False)`: 创建多级目录。
- `os.rmdir(path, *, dir_fd=None)`: 删除指定目录(该目录必须为空)。
- `os.removedirs(name)`: 递归删除指定路径中的空目录。
- `os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None)`: 将指定路径的文件或目录重命名。
- `os.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None)`: 将指定路径的文件或目录移动或重命名。
- `os.remove(path, *, dir_fd=None)`: 删除指定路径的文件。
- `os.unlink(path, *, dir_fd=None)`: 删除指定路径的文件。
- `os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)`: 修改指定路径的权限。
- `os.chown(path, uid, gid, *, dir_fd=None, follow_symlinks=True)`: 修改指定路径的所有者和所属组。
- `os.lchown(path, uid, gid, *, follow_symlinks=True)`: 修改指定符号链接的所有者和所属组。
- `os.symlink(src, dst, *, target_is_directory=False)`: 创建指定路径的符号链接。
- `os.readlink(path, *, dir_fd=None)`: 返回指定路径的符号链接指向的路径。
- `os.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None)`: 创建指定路径的硬链接。
- `os.utime(path, times=None, *, ns=None, dir_fd=None, follow_symlinks=True)`: 修改指定路径的访问时间和修改时间。

需要注意的是,部分函数(如 `os.makedirs()`、`os.removedirs()`、`os.symlink()`、`os.link()`)只在类 Unix 系统上可用,并且在 Windows 上不可用。因此,在使用这些函数时应该注意它们的平台兼容性。另外,一些函数(如 `os.chmod()`、`os.chown()`、`os.lchown()`)需要 root 权限才能执行,使用时应该小心谨慎。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:39:07 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.path.realpath(path)`: 返回指定路径的真实路径(即去除符号链接后的路径)。
- `os.path.islink(path)`: 判断指定路径是否为符号链接。
- `os.path.lexists(path)`: 判断指定路径是否存在(包括符号链接)。
- `os.path.sameopenfile(fp1, fp2)`: 判断两个打开的文件描述符是否指向同一个文件。
- `os.path.samestat(stat1, stat2)`: 判断两个 `os.stat()` 或 `os.fstat()` 返回值是否代表同一个文件。
- `os.path.splitdrive(path)`: 将指定路径分割为驱动器和路径两部分(仅适用于 Windows 系统)。
- `os.path.normcase(path)`: 将指定路径中所有字符转换为小写,并将所有斜杠替换为正斜杠(即 `/`)。
- `os.path.normpath(path)`: 规范化指定路径,去除多余的斜杠和 `.`、`..` 等符号。
- `os.path.abspath(path)`: 返回指定路径的绝对路径。
- `os.path.relpath(path, start='.')`: 返回指定路径相对于起始路径的相对路径。

需要注意的是,`os.path` 模块提供的函数可以用于处理路径字符串,并且在不同的操作系统上具有一定的兼容性。但是,在使用这些函数时应该小心谨慎,并遵循操作系统的文件系统规范。另外,一些函数(如 `os.path.splitdrive()`)只在特定的操作系统上可用,使用时应该注意它们的平台兼容性。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:39:45 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.path.join(path1, path2, ...)`: 将多个路径拼接为一个路径。
- `os.path.split(path)`: 将指定路径分割为目录部分和文件名部分。
- `os.path.splitext(path)`: 将指定路径的文件名部分和扩展名部分分别返回。
- `os.path.basename(path)`: 返回指定路径的文件名部分。
- `os.path.dirname(path)`: 返回指定路径的目录部分。
- `os.path.commonpath(paths)`: 返回指定路径列表中所有路径的共同父目录。
- `os.path.expanduser(path)`: 将指定路径中的 `~` 或 `~user` 转换为用户的主目录。
- `os.path.expandvars(path)`: 将指定路径中的环境变量转换为其对应的值。

需要注意的是,`os.path` 模块提供的这些函数都是纯粹的字符串操作,不会访问文件系统。因此,在使用这些函数时不必担心文件系统操作带来的风险。另外,一些函数(如 `os.path.expanduser()`)只在类 Unix 系统上可用,并且在 Windows 上的行为可能与预期不同。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:40:25 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.path.getatime(path)`: 返回指定路径的最后访问时间(以秒为单位)。
- `os.path.getmtime(path)`: 返回指定路径的最后修改时间(以秒为单位)。
- `os.path.getctime(path)`: 返回指定路径的创建时间(以秒为单位,仅适用于 Unix 系统)。
- `os.path.getsize(path)`: 返回指定路径的大小(以字节为单位)。
- `os.path.isabs(path)`: 判断指定路径是否为绝对路径。
- `os.path.isdir(path)`: 判断指定路径是否为目录。
- `os.path.isfile(path)`: 判断指定路径是否为文件。
- `os.path.ismount(path)`: 判断指定路径是否为挂载点。
- `os.path.samefile(path1, path2)`: 判断两个路径是否指向同一个文件或目录。
- `os.path.supports_unicode_filenames`: 表示当前操作系统是否支持 Unicode 文件名。

需要注意的是,`os.path` 模块提供的这些函数可以用于查询文件系统中的文件和目录信息。但是,在使用这些函数时应该小心谨慎,并遵循操作系统的文件系统规范。另外,一些函数(如 `os.path.getctime()`)只在特定的操作系统上可用,使用时应该注意它们的平台兼容性。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:41:09 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.scandir(path='.')`: 返回指定路径下所有文件和目录的迭代器。
- `os.DirEntry.name`: 表示目录项的名称。
- `os.DirEntry.path`: 表示目录项的完整路径。
- `os.DirEntry.is_dir()`: 判断目录项是否为目录。
- `os.DirEntry.is_file()`: 判断目录项是否为文件。
- `os.DirEntry.is_symlink()`: 判断目录项是否为符号链接。
- `os.DirEntry.stat()`: 返回目录项的 `os.stat()` 结果。
- `os.scandir()` 函数返回的迭代器可以用于遍历指定目录下的所有文件和目录。每个目录项都是一个 `os.DirEntry` 对象,其属性和方法可以用于获取目录项的信息和操作目录项。需要注意的是,`os.scandir()` 函数只在 Python 3.5 及以上版本中可用。
- `os.get_terminal_size(fallback=(columns, lines))`: 返回当前终端的大小(以列数和行数表示)。如果无法获取终端大小,则返回指定的默认值。
- `os.supports_bytes_environ`: 表示当前操作系统是否支持字节串环境变量。

需要注意的是,`os.scandir()` 函数只在 Python 3.5 及以上版本中可用,并且在 Windows 上的行为可能与预期不同。另外,`os.get_terminal_size()` 函数只在类 Unix 系统上可用,并且在 Windows 上的行为可能与预期不同。
回复

使用道具 举报

 楼主| 发表于 2023-6-9 21:41:58 | 显示全部楼层
好的,以下是 `os` 模块的其他常用函数和变量:

- `os.getpid()`: 返回当前进程的进程 ID。
- `os.getppid()`: 返回当前进程的父进程的进程 ID。
- `os.getuid()`: 返回当前进程的用户 ID。
- `os.getgid()`: 返回当前进程的组 ID。
- `os.setuid(uid)`: 将当前进程的用户 ID 设置为指定值(仅适用于 Unix 系统)。
- `os.setgid(gid)`: 将当前进程的组 ID 设置为指定值(仅适用于 Unix 系统)。
- `os.getlogin()`: 返回当前登录用户的用户名。
- `os.getgroups()`: 返回当前进程所属的所有组的组 ID 列表。
- `os.setgroups(groups)`: 将当前进程所属的所有组设置为指定列表中的组(仅适用于 Unix 系统)。
- `os.getpriority(which, who)`: 返回指定进程或进程组的优先级。
- `os.setpriority(which, who, priority)`: 将指定进程或进程组的优先级设置为指定值。
- `os.nice(increment)`: 将当前进程的优先级增加指定的值。
- `os.sched_getaffinity(pid)`: 返回指定进程可以运行的 CPU 核心集合(仅适用于 Linux 系统)。
- `os.sched_setaffinity(pid, cpus)`: 将指定进程可以运行的 CPU 核心集合设置为指定值(仅适用于 Linux 系统)。

需要注意的是,这些函数大多数只在 Unix 系统上可用,并且在 Windows 上的行为可能与预期不同。另外,一些函数(如 `os.setuid()`、`os.setgid()`、`os.setgroups()`、`os.setpriority()`)需要 root 权限才能执行,使用时应该小心谨慎。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|科学与文明

GMT+8, 2024-5-9 19:26 , Processed in 0.090790 second(s), 13 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表