os模块提供了与操作系统进行交互的功能。它允许你执行许多常见的文件系统任务,如读取目录、处理文件、获取系统信息等。以下是一些os模块中常见的函数及其用途:
目录操作
- os.getcwd():返回当前工作目录的字符串表示。
- os.listdir(path):返回指定目录下的文件和子目录列表。
- os.mkdir(path):创建一个新目录。
- os.rmdir(path):删除一个空目录。
- os.path.exists(path):检查路径是否存在。
- os.path.isdir(path):检查路径是否是一个目录。
- os.path.isfile(path):检查路径是否是一个文件。
- os.path.join(path, *paths):将多个路径组件智能地连接起来。
文件操作
虽然os模块主要用于目录操作,但它也提供了一些基本的文件操作功能,但更常见的文件操作是使用内置的open()函数和文件对象的方法。然而,os模块中的os.path子模块提供了许多与文件路径相关的实用函数。
os.path.getsize(path)
:返回指定文件的大小(以字节为单位)。os.path.abspath(path)
:返回指定文件的绝对路径。os.path.splitext(path)
:将路径拆分为文件名和扩展名。os.path.basename(path)
:返回路径中的文件名。os.path.dirname(path)
:返回路径中的目录名。
系统相关
os.name
:返回描述正在使用的平台的字符串。例如,在Windows上,它返回'nt'
;在Unix/Linux上,它返回'posix'
。os.system(command)
:在子shell中执行指定的命令,并等待命令完成。注意:使用这个函数时要特别小心,因为它可能允许执行恶意代码。os.environ
:一个表示环境变量的字典。你可以通过它读取或设置环境变量。os.getpid()
:返回当前进程的ID。os.getppid()
:返回父进程的ID。os.walk(top)
:生成给定目录及其所有子目录中的文件和目录。这是一个非常有用的函数,用于遍历目录树。
进程管理(高级功能)
虽然这超出了基础范围,但os模块还包含一些与进程管理相关的函数,如os.fork()(在Unix系统上创建新进程)、os.execv()(执行新程序)等。这些函数在更高级的应用程序中可能很有用,但通常不是初学者的主要关注点。
其他实用功能
os.sep
:表示路径组件之间的分隔符(例如,在Unix上是'/'
,在Windows上是'\\'
)。os.linesep
:表示当前平台使用的行终止符(例如,在Unix上是'\n'
,在Windows上是'\r\n'
)。os.pathsep
:用于在列表中分隔多个路径的字符(例如,在Unix和Windows上都是:
,但在Windows上,当使用os.environ
时,它实际上是;
)。os.urandom(size)
:返回一个包含随机字节的字符串,长度由size
指定。这可以用于生成加密密钥等。