使用Python内置的操作系统函数
Python 内置了很多操作系统相关的函数和模块,可以让我们方便地进行系统操作。这些函数和模块包含了文件系统、进程管理、网络编程等方面的功能,这篇文章主要介绍 Python 内置的操作系统函数。
1. os 模块
os 模块是 Python 内置的操作系统函数模块,它提供了一系列的函数来操作文件系统、进程、环境变量等。
1.1 文件系统函数
- os.getcwd(): 获取当前工作目录。
- os.chdir(path): 修改当前工作目录为 path。
- os.mkdir(path): 创建目录。
- os.makedirs(path): 递归创建目录。
- os.rmdir(path): 删除目录。
- os.removedirs(path): 递归删除目录。
- os.listdir(path): 列出指定目录下的所有文件和目录。
- os.stat(path): 获取文件或目录的状态。
- os.rename(src, dst): 重命名文件或目录。
- os.remove(path): 删除文件或目录。
1.2 进程函数
- os.fork(): 创建一个子进程。
- os.execvp(file, args): 在当前进程中执行 file 程序,并传递参数 args。
- os.wait(): 等待一个子进程结束。
- os.kill(pid, sig): 发送信号 sig 给进程 pid。
- os.getpid(): 获取当前进程的 ID。
- os.getppid(): 获取当前进程的父进程 ID。
1.3 环境变量函数
- os.environ: 获取当前系统的所有环境变量。
- os.getenv('key', 'default'): 获取指定 key 的环境变量值,如果不存在则返回默认值。
- os.putenv('key', 'value'): 设置指定 key 的环境变量值。
2. subprocess 模块
subprocess 模块是 Python 内置的进程管理模块,可以让我们方便地执行外部命令、获取命令输出等。
- subprocess.call(cmd): 执行 cmd 命令,并等待执行完成。
- subprocess.check_call(cmd): 执行 cmd 命令,如果执行失败则抛出异常。
- subprocess.check_output(cmd): 执行 cmd 命令,并返回执行结果。
- subprocess.Popen(cmd): 执行 cmd 命令,并返回子进程对象,可以通过该对象控制子进程。
3. socket 模块
socket 模块是 Python 内置的网络编程模块,可以让我们方便地进行网络编程。
- socket.socket(family=AF_INET, type=SOCK_STREAM): 创建一个套接字对象,family 指定网络协议族(如 AF_INET 表示 IPv4),type 指定套接字类型(如 SOCK_STREAM 表示 TCP)。
- socket.bind(address): 绑定套接字到指定地址。
- socket.listen(backlog): 监听套接字并设置连接队列大小。
- socket.accept(): 等待客户端连接并返回连接的套接字和客户端地址。
- socket.connect(address): 连接到指定的服务器地址。
- socket.recv(bufsize): 接收数据,bufsize 指定最多接收多少字节的数据。
- socket.send(data): 发送数据。
- socket.close(): 关闭套接字对象。
本文只介绍了部分常用的操作系统函数,实际上 Python 还有很多其他的操作系统相关函数和模块,如 multiprocessing、threading、select、signal 等。如果想要更加深入地了解 Python 操作系统编程的相关内容,可以参考 Python 官方文档。
