Python 操作 CMD 命令行详解与实战
引言
命令行界面(Command Line Interface,简称 CLI)是计算机操作系统中一种基于文本的用户界面,通过输入命令来与计算机进行交互。在自动化运维、脚本编写及系统管理场景中,CLI 的高效性无可替代。Python 作为一门强大的编程语言,提供了丰富的标准库和模块,可以方便地操作 CMD 或 Shell,实现复杂的系统控制任务。
本文将详细介绍如何使用 Python 的 os、subprocess 和 shutil 等模块来操作命令行,涵盖基础执行、输出捕获、文件管理及安全性分析,助您高效掌握命令行控制能力。
一、Python 中的 os 模块
os 模块是 Python 中用于提供与操作系统进行交互接口的一个标准库。它封装了常用的操作系统功能,如路径处理、进程启动、环境变量读取等。
1. 执行 CMD 命令
os 模块提供了 os.system(command) 函数来执行 CMD 命令。该函数会阻塞当前程序直到命令执行完毕,并返回命令的退出状态码。
import os
# 执行 CMD 命令
exit_code = os.system("ping www.example.com")
print(f"命令执行结束,退出码:{exit_code}")
注意:os.system 默认使用系统的 shell 解释器,存在命令注入风险。在处理用户输入时,建议优先使用 subprocess 模块。
2. 获取当前目录与环境变量
使用 os.getcwd() 可获取当前工作目录,os.environ 可访问环境变量。
import os
# 获取当前目录
current_dir = os.getcwd()
print(f"当前目录:{current_dir}")
# 获取环境变量
path_var = os.environ.get('PATH', '')
print(f"系统 PATH 长度:{len(path_var)}")
3. 创建和删除文件夹
使用 os.mkdir(path) 创建单级文件夹,os.makedirs(path, exist_ok=True) 创建多级文件夹。删除文件夹需使用 os.rmdir(path)(仅空目录)或配合 shutil。
import os
# 创建文件夹
try:
os.mkdir("test_dir")
()
FileExistsError:
()
os.path.exists() os.listdir():
os.rmdir()


