怎么在命令行终端运行Python脚本
详细介绍在Windows、macOS和Linux命令行终端中运行Python脚本的核心逻辑、准备工作、路径操作技巧、参数传递与常见报错解决方法。
在命令行终端运行 Python 脚本的核心操作非常直接:只需在终端输入解释器指令(python 或 python3),空格后接上脚本文件名(如 python main.py)并回车。但在实际操作中,读者往往会面临“命令找不到”、“找不到文件”或“路径包含空格”等细节阻碍。本文将系统梳理在 Windows、macOS 与 Linux 终端中运行 Python 脚本的准备步骤、标准执行方式、跨目录寻址技巧、外部传参与高频错误排查方法。
一、运行前的基本准备与环境确认
在执行任何 Python 脚本之前,首要前提是确认系统终端中已经正确配置了 Python 解释器。不同操作系统自带的环境与调用命令略有差异。
1. 打开操作系统的命令行工具
- Windows 系统:按快捷键
Win + R,输入powershell或cmd后回车,打开 PowerShell 或命令提示符。 - macOS 系统:按快捷键
Command + 空格唤出聚焦搜索,输入Terminal或“终端”并回车。 - Linux 系统:可以使用桌面快捷键
Ctrl + Alt + T打开默认终端。
2. 验证 Python 解释器版本
打开终端后,首先输入版本检测命令,确认解释器能够被正确识别:
python --version
如果系统提示版本号(例如 Python 3.11.4),说明 python 命令已全局就绪。若提示命令不存在,或者系统预装了 Python 2 与 Python 3 共存(如多数 macOS 与 Linux 环境),请尝试执行:
python3 --version
Python 3.10.12
py --version,该命令能自动匹配系统中安装的最新 Python 版本。
二、在终端运行脚本的标准操作流程
最稳妥且最符合工程习惯的运行方式,是先让终端的工作目录“进入”到代码文件所在的文件夹,再发起执行命令。这样能够保证脚本内涉及读取外部文件(如相对路径的数据集、配置文件)时不会因为基准目录偏移而报错。
步骤一:编写测试脚本文件
假设在本地电脑上创建了一个名为 hello.py 的代码文件,其代码内容如下:
# hello.py
print("Hello, Python in Terminal!")
步骤二:使用 cd 命令切换到脚本所在目录
在终端中,cd(Change Directory)命令用于更改当前工作目录。假设该脚本存放在桌面下的 workspace 文件夹中:
cd C:\Users\Administrator\Desktop\workspace
cd ~/Desktop/workspace
执行完成后,可以输入 dir(Windows)或 ls(macOS/Linux)列出当前目录下的文件,确认列表中确实存在 hello.py。
步骤三:输入指令并执行脚本
确认当前目录下有对应文件后,直接在终端中敲入解释器名称与文件名:
python hello.py
若系统使用的是 python3 命令别名,则执行:
python3 hello.py
Hello, Python in Terminal!
回车后,Python 解释器会读取该文件、完成编译并在终端窗口中直接打印输出内容,随后光标返回到待命的命令行提示符。
三、不用 cd 切换:直接通过路径运行脚本
在自动化任务或临时运行脚本的场景中,有时我们并不希望改变当前终端所在的工作目录。此时可以直接向 Python 解释器提供脚本的完整路径(绝对路径)或相对路径。
1. 传入绝对路径
直接在命令中写入文件在硬盘上的完整位置:
python D:\projects\demo\app.py
python3 /Users/username/projects/demo/app.py
2. 处理包含空格的路径
如果脚本所在的文件夹名称或脚本本身包含空格(如 My Project),终端会将空格默认识别为命令参数分隔符,导致报出找不到文件的错误。此时必须为路径加上英文双引号:
python "C:\My Project\analysis script.py"
在大多数现代终端(Windows Terminal、macOS 终端等)中,可以先输入
python (注意后带一个空格),然后从文件管理器中直接把 .py 文件拖拽进终端窗口,终端会自动补全正确的完整路径,并对空格做转义处理。
四、在命令行运行时向脚本传递外部参数
实际开发中,命令行运行 Python 的一大优势是可以在启动时动态输入控制参数。Python 标准库中的 sys.argv 会将这些参数捕获为一个字符串列表。
代码与参数映射示例
创建文件 greeting.py,读取用户在命令行传入的名字和次数:
# greeting.py
import sys
# sys.argv[0] 是脚本文件名
# sys.argv[1] 是第一个外部传入参数
# sys.argv[2] 是第二个外部传入参数
if len(sys.argv) > 2:
name = sys.argv[1]
repeat_count = int(sys.argv[2])
for _ in range(repeat_count):
print(f"你好, {name}!")
else:
print("请提供姓名和打印次数,例如: python greeting.py Alice 2")
在命令行终端中带参数运行该脚本:
python greeting.py Bob 3
你好, Bob!
你好, Bob!
你好, Bob!
需要特别注意:终端传进来的所有参数在 sys.argv 中都是 str(字符串)类型,涉及数值比较或循环时必须使用 int() 或 float() 进行显式转换。
五、macOS 与 Linux 下直接免写 python 前缀执行
在类 Unix 环境(macOS / Linux)中,还可以让 Python 脚本像系统原生命令一样直接通过 ./script.py 运行,无需显式打出 python3 前缀。这需要两步配置:
- 添加 Shebang 解释器声明行:在
.py文件的最顶端第一行写入:#!/usr/bin/env python3 - 赋予文件可执行权限:在终端中使用
chmod命令增加执行权:终端执行赋权命令chmod +x script.py
完成上述两步后,即可在所在目录下直接输入:
./script.py
六、终端运行时的三大高频报错与排查步骤
初学者在命令行中运行 Python 时,往往会遭遇几类典型阻碍。按照以下诊断路径可以快速定位并恢复正常:
| 报错表现 | 核心诱因 | 针对性解决办法 |
|---|---|---|
command not found: python或“不是内部或外部命令” |
Python 未安装,或安装时未勾选将执行路径注入系统环境变量 PATH。 |
1. 检查改用 python3 或 py。2. Windows 重装 Python 安装包时务必勾选底部 "Add python.exe to PATH"。 3. 手动编辑系统环境变量,将 Python 安装路径加入 PATH。 |
can't open file 'xxx.py': [Errno 2] No such file or directory
|
终端当前所在的目录(CWD)并非脚本存放目录,或者文件名存在打字错误。 |
1. 键入 pwd(Mac/Linux)或 cd(Windows)查看终端当前停留在哪。2. 键入 ls 或 dir 查看当前目录下是否存在该 .py 文件。3. 核对扩展名是否被系统默认隐藏成了 xxx.py.txt。
|
Permission denied或语法报错 SyntaxError
|
尝试直接使用 ./xxx.py 但缺少执行权,或系统默认调用了旧的 Python 2 运行 Python 3 语法代码。 |
1. 加上显式解释器执行:python3 xxx.py。2. 使用 chmod +x xxx.py 赋予可执行权限。3. 检查代码首行是否正确声明了 Python 3 环境。 |
七、总结与操作速查
在命令行终端中成功运行 Python 脚本,本质上是“让终端在正确的目录下,调用正确的解释器程序,读取指定的源文件”。日常操作中可按以下节奏执行:
- 初次使用:先通过
python --version或python3 --version确定本机可用的终端关键字。 - 日常开发:在终端中使用
cd 文件夹路径进到项目根目录,输入python 脚本名.py运行。 - 快速验证:输入
python后直接将目标文件拖拽至终端窗口中回车执行。 - 处理参数:在文件名后追加以空格分隔的数据,并在脚本中通过
sys.argv接收处理。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













