cmd怎么运行Python脚本:基本命令与操作步骤
本文详细讲解在Windows命令提示符(cmd)中运行Python脚本的核心命令与完整操作步骤,涵盖环境校验、目录定位、路径引用规则、命令行传参以及常见报错排查。
在 Windows 系统的命令提示符(Command Prompt,简称 cmd)中运行 Python 脚本,核心命令是 python 脚本名.py。这一过程的本质,是由系统命令提示符调起 Python 解释器,并将目标脚本的文件流加载到内存中进行语法编译与逐行执行。完成这一操作需要掌握三个核心环节:验证解释器环境变量、定位工作目录与脚本路径、以及掌握参数传递与异常排查方法。
一、运行前提:环境验证与命令解析
在 cmd 中直接键入 python 并能够顺利启动程序,依赖于 Windows 操作系统的环境变量机制。当我们在控制台中输入任意命令时,系统首先检查当前目录是否存在同名可执行文件,若不存在,则会按顺序检索系统变量 PATH 中登记的各个目录。
在正式运行脚本之前,应首先验证当前系统是否已正确配置 Python 解释器。打开 cmd 窗口,输入以下版本查询命令:
:: 验证 Python 解释器是否已加入 PATH python --version :: [示例输出] Python 3.12.2
如果命令返回了具体的版本号,说明全局环境已准备就绪。如果控制台提示“'python' 不是内部或外部命令,也不是可运行的程序或批处理文件”,则说明系统环境变量中未找到解释器路径。此时可以使用 Windows 官方安装包默认注册的启动器 py 进行验证:
:: 使用 Windows Python 启动器检测 py --version :: [示例输出] Python 3.12.2
python 与 py 均未被识别,说明安装时未勾选“Add python.exe to PATH”。读者可重新运行 Python 安装包,选择“Modify”,在高级选项中勾选该项并完成安装,重新打开 cmd 即可生效。
二、基础操作:运行 Python 脚本的标准步骤
要在 cmd 中执行具体的 .py 脚本,通常有两种基本路径模式。在日常开发与生产部署中,应根据项目结构与脚本内部是否有相对文件依赖,选择相匹配的执行方式。
1. 方式一:先切换到脚本所在目录(推荐模式)
绝大多数 Python 项目在运行过程中需要读取配置文件、数据文件或导入同一目录下的自定义模块。此时,将 cmd 的“当前工作目录(Current Working Directory)”切换至脚本所在文件夹,是最规范、最不易产生路径偏差的做法。具体步骤如下:
-
打开命令提示符:按下键盘上的快捷键
Win + R,在弹出的“运行”对话框中输入cmd并按回车。 -
跨盘符切换(如适用):若脚本存放在 D 盘或 E 盘,需要先输入盘符加冒号进行盘符切换,或者使用带
/d参数的cd命令。 -
进入目标文件夹:使用
cd命令进入工程路径。 -
执行运行命令:输入
python 脚本名.py并按回车。
:: 步骤示范:切换到 D 盘的 demo_project 目录并执行 app.py C:\Users\Username> cd /d D:\demo_project D:\demo_project> python app.py :: [示例输出] Hello, cmd! 脚本执行成功。
cmd 并回车,系统会直接打开一个工作目录已定位在该文件夹的 cmd 窗口,无需手动输入繁琐的 cd 路径。
2. 方式二:使用绝对路径或相对路径直接调用
如果只需要快速运行一个自包含的单文件脚本,且该脚本不依赖相对路径下的本地文件,可以直接在任意目录下通过文件的完整绝对路径进行调用:
:: 无论当前 cmd 处于何处,直接传入绝对路径 C:\Users\Username> python "D:\scripts\backup_tool.py"
注意:当文件路径中包含空格(例如 D:\My Projects\app.py)或特殊符号时,必须使用英文半角双引号将整个路径包裹起来,否则 cmd 会将空格前后的文字切分为多个独立参数,从而抛出无法定位文件的错误。
三、进阶执行:带命令行参数运行 Python 脚本
在编写数据处理、批量转化或自动化运维脚本时,常常需要从外部向脚本传递动态参数(如指定目标输入文件、调试开关或端口号)。在 cmd 中,参数直接附加在脚本文件名之后,各参数之间以空格分隔。
1. 命令行传参调用命令
:: 格式:python 脚本名.py 参数1 参数2 参数3 D:\project> python process_data.py input.csv --mode=fast 2026
2. Python 脚本接收参数的原理解析
在 Python 脚本内部,传入的所有参数都会被标准库 sys.argv 捕获为一个字符串列表。其中索引 0 始终保留为脚本自身的名称或路径,后续索引则依次对应传入的具体参数。
# demo_args.py 源码示范
import sys
print(f"脚本名称: {sys.argv[0]}")
print(f"传递参数数量: {len(sys.argv) - 1}")
for index, arg in enumerate(sys.argv[1:], start=1):
print(f"参数 [{index}]: {arg} (类型: {type(arg).__name__})")
在 cmd 中执行上述代码并查看运行结果:
D:\project> python demo_args.py input.csv --mode=fast 2026 :: [示例输出] 脚本名称: demo_args.py 传递参数数量: 3 参数 [1]: input.csv (类型: str) 参数 [2]: --mode=fast (类型: str) 参数 [3]: 2026 (类型: str)
sys.argv 中均以纯字符串(str)类型存在。若参数需要作为数字(如端口或年份),必须在代码内部显式执行 int(sys.argv[3]) 类型转换。对于复杂工业级项目,建议采用标准库 argparse 解析长短选项及默认值。
四、常见问题排查与避坑指南
通过 cmd 运行 Python 脚本时,因环境差异、路径混淆或系统特性,初学者容易遇到以下典型问题。针对不同现象,应依照其对应机制进行针对性排查。
| 异常表现 | 核心成因 | 具体解决步骤 |
|---|---|---|
'python' 不是内部或外部命令 |
环境变量 PATH 中未配置 Python 解释器所在路径。 | 在安装包中勾选 Add to PATH,或直接改用系统常驻启动器 py 脚本名.py。 |
can't open file: No such file or directory |
当前 cmd 工作路径下找不到指定名称的脚本,或文件名拼写错误。 | 输入 dir 查看当前文件夹文件列表;检查文件扩展名是否被 Windows 误隐藏成了 test.py.txt。 |
| 黑窗口一闪而过自动关闭 | 通过鼠标双击 .py 文件运行,脚本运行结束后控制台自动随进程销毁退出。 |
严禁鼠标双击。应始终先手动启动 cmd 窗口,再在窗口内键入运行命令。 |
ModuleNotFoundError: No module named 'xxx' |
第三方库未安装在当前全局环境,或当前未激活虚拟环境。 | 在 cmd 中执行 pip install xxx,或先执行 venv\Scripts\activate 激活专属工程环境。 |
五、核心要点总结
在 cmd 中顺利运行 Python 脚本,关键在于明确解释器寻址与文件工作目录两个概念:
- 先测环境:通过
python --version确认全局命令可用,若未配 PATH 可首选py命令作为替代。 - 推荐工作流:在脚本所在文件夹的资源管理器地址栏输入
cmd直接进入对应目录,然后输入python 脚本名.py。 - 传参规范:参数使用空格分隔,包含空格的内容用英文双引号包裹,脚本内通过
sys.argv或argparse接收。 - 看清报错:遇到错误时,看清是系统抛出的找不到解释器,还是 Python 解释器启动后抛出的代码逻辑异常,从而准确施策。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













