命令行执行Python script.py的详细步骤
在命令行中执行一个名为 script.py 的 Python 脚本,核心操作只包含三步:打开终端窗口、使用 cd 命令进入脚本所在的文件夹,最后输入 python script.py(或 python3 script.py)并按下回车键。本文将按实际操作流程,详细梳理从环境检查、目录导航、命令执行、参数传入到常见错误排查的完整步骤,帮助你稳定地运行 Python 脚本。
一、前期准备:确认终端环境与 Python 解释器
在执行脚本前,必须确认系统已经正确安装了 Python,并且终端能够识别 Python 解释器命令。不同操作系统使用的命令名称与默认终端工具存在细微差别。
首先打开对应系统的命令行工具:
- Windows 系统:按下快捷键
Win + R,在运行窗口中输入cmd或powershell并回车。 - macOS 系统:按下
Command + 空格键打开聚焦搜索(Spotlight),输入终端或Terminal后回车。 - Linux 系统:通常可直接使用快捷键
Ctrl + Alt + T打开默认终端。
打开终端后,输入以下命令检查 Python 版本以验证环境:
# Windows 推荐尝试
python --version
# 或使用 Windows Python 启动器
py --version
# macOS 与 Linux 系统推荐尝试
python3 --version
命令输出示例:如果终端返回类似 Python 3.10.12 或 Python 3.11.4 的版本号信息,说明环境配置完好,可以开始执行脚本。
二、准备测试脚本
为了让后续测试有直观的反馈,我们准备一个结构最简的 script.py 文件。请使用文本编辑器(例如 VS Code、Sublime Text 或系统自带的记事本),在本地磁盘新建一个文件夹,如 D:\projects\demo(Windows)或 /Users/username/demo(macOS),并在该目录下创建名为 script.py 的文件。
在文件中输入以下 Python 代码并保存:
# script.py 测试代码
print("Hello! script.py 执行成功。")
name = "Python 开发者"
print(f"欢迎来到命令行环境,{name}!")
.txt 扩展名而变成 script.py.txt。
三、核心操作:切换路径与执行脚本
完成准备后,即可在命令行中进行实际运行。日常开发中主要有两种路径执行方式,掌握这两种方式的差异有助于避免常见的路径解析错误。
方式一(推荐):先切换目录,再执行脚本
这是最稳妥、最常见的做法。首先使用 cd(Change Directory)命令,将终端的当前工作目录切换到 script.py 所在的文件夹,随后直接使用脚本名运行:
以 Windows PowerShell 为例:
# 1. 切换到脚本所在目录(若跨盘符需在 CMD 中加 /d 参数)
cd D:\projects\demo
# 2. 列出当前目录内容,核对文件是否存在
dir
# 3. 执行 Python 脚本
python script.py
以 macOS / Linux 终端为例:
# 1. 切换到用户家目录下的 demo 文件夹
cd ~/demo
# 2. 列出文件,核查 script.py 是否在当前目录
ls -l
# 3. 使用 python3 执行脚本
python3 script.py
示例运行结果:
Hello! script.py 执行成功。
欢迎来到命令行环境,Python 开发者!
方式二:在任意目录下直接指定脚本路径
如果当前工作在其他文件夹下,也可以不切换工作目录,直接在命令中输入脚本的相对路径或完整绝对路径:
# 使用绝对路径(Windows 示例)
python D:\projects\demo\script.py
# 使用绝对路径(macOS / Linux 示例)
python3 /Users/username/demo/script.py
两种执行方式的关键差异对比
为什么推荐第一种方式?其根本差异在于当前工作目录(Current Working Directory,CWD)的不同:
- 方式一(先 cd 再执行):终端的工作目录与脚本所在目录完全重合。如果脚本内部包含相对路径文件读写,例如
open("data.csv"),Python 会直接在脚本同级目录下寻找文件,逻辑清晰且不容易报错。 - 方式二(跨目录直接指定路径):终端的工作目录保持在执行命令时的原始位置,而不是脚本所在位置。此时执行
open("data.csv")会在终端当前停留的目录下寻找文件,极易引发FileNotFoundError异常。
四、进阶用法:向 script.py 传递命令行参数
在实际生产与自动化任务中,很多脚本需要通过外部传入参数来动态改变运行逻辑。Python 内置了 sys.argv 列表,可以自动接收并解析命令行传递的参数。
修改或创建一个支持接收参数的 script.py 文件:
# script.py 支持参数版
import sys
print("接收到的完整参数列表:", sys.argv)
if len(sys.argv) > 1:
user_name = sys.argv[1]
print(f"你好,{user_name}!")
else:
print("未提供参数,按默认配置执行。")
在命令行中传入参数时,多个参数之间使用空格隔开:
# 传递单个参数 Alice
python script.py Alice
# 传递包含空格的参数时,需使用双引号包裹
python script.py "Alice Smith" --mode=fast 100
参数映射逻辑:Python 在解析命令行输入时,会将整行指令按空格切分成字符串列表。其中索引为 0 的项始终代表脚本自身的名称,后续参数按顺序从 1 开始编号。
五、常见错误现象与排查决策
在命令行运行 Python 脚本的过程中,初学者最常遇到的主要有以下三类报错,可以按照错误提示快速锁定根因并修复:
1. "python 不是内部或外部命令" 或 "command not found: python"
原因:操作系统的系统变量 PATH 中没有包含 Python 安装路径,导致终端在寻找执行文件时找不到 python.exe 或 python 可执行程序。
解决方法:
- 在 Windows 上,尝试使用 Windows 官方提供的启动器命令
py script.py。 - 在 macOS 或 Linux 上,系统默认可能只绑定了
python3,尝试改用python3 script.py。 - 如果依然报错,可在重新运行 Python 安装包时,勾选底部的 "Add Python to PATH"(将 Python 添加到系统环境变量),安装完成后重新打开终端即可。
2. "can't open file 'script.py': [Errno 2] No such file or directory"
原因:终端当前所在的工作目录下根本不存在名为 script.py 的文件。
解决方法:
- 在终端中运行
dir(Windows)或ls(macOS/Linux),查看当前列出的文件列表中是否有script.py。 - 核对是否进入了正确的目录。若没进入,请再次使用
cd进入脚本存放文件夹。 - 核对文件扩展名。在 Windows 资源管理器中打开“查看 -> 显示文件扩展名”,检查文件名是否被误存为
script.py.txt。
3. "ModuleNotFoundError: No module named 'xxx'"
原因:脚本中通过 import 引入了第三方外部库(例如 requests、pandas),但当前 Python 环境中尚未安装该依赖库。
解决方法:在终端中运行 pip install xxx(或 pip3 install xxx)安装缺失的库,安装完成后重新执行脚本。
六、总结速查表
在日常工作与自动化流程中,命令行调用 Python 脚本是最基础也是最通用的交互方式。以下为各平台执行命令的速查对照:
| 操作系统 | 常用终端工具 | 进入目录命令 | 脚本执行常用命令 |
|---|---|---|---|
| Windows | PowerShell / 命令提示符 (CMD) | cd /d D:\projects\demo |
python script.py 或 py script.py |
| macOS | 终端 (Terminal) / iTerm2 | cd ~/projects/demo |
python3 script.py |
| Linux | Bash / Zsh / 默认终端 | cd ~/projects/demo |
python3 script.py |
掌握“确认环境 -> cd 定位目录 -> python script.py 运行”的标准工作流,即可在任何主流桌面与服务器环境中稳定运行 Python 程序。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









