Python程序怎么运行:命令行执行.py脚本的基础步骤

桃夭
桃夭
发布时间:2026-11-11| 4人浏览过
原创

详细讲解在命令行中运行Python脚本文件的基础步骤与底层逻辑,涵盖终端开启、解释器验证、工作目录切换、命令行传参及常见报错排查。

在命令行中运行 Python 程序,本质上是通过系统终端向操作系统发出调用指令,让 Python 解释器去读取并执行指定的 .py 代码文件。要完成这一操作,核心的操作路径只有三步:打开操作系统的命令行终端、使用 cd 命令切换到代码所在的文件夹、输入解释器命令搭配脚本文件名进行执行。本文将按实际操作顺序,详细拆解每一个执行环节的具体动作、底层逻辑与高频问题的排查方法。
Python程序怎么运行:命令行执行.py脚本的基础步骤
图 0:从编写脚本、终端调用到 Python 解释器执行的全流程架构概览

第一步:打开命令行终端并确认 Python 解释器环境

运行脚本的第一项动作是唤起操作系统的命令行界面。命令行是开发者与计算机底层直接沟通的文本窗口。在不同操作系统中,打开终端的方式略有差异:

  • Windows 系统:按下键盘上的 Win + R 快捷键打开“运行”窗口,输入 cmd 后回车即可打开命令提示符;或者在任务栏搜索并打开 PowerShell 或 Windows Terminal。
  • macOS 系统:按下快捷键 Command + 空格键 唤起聚焦搜索(Spotlight),输入“终端”或 Terminal 并回车。
  • Linux 系统:桌面环境下通常可使用全局快捷键 Ctrl + Alt + T 快速开启终端。

进入终端后,首先看到的不是代码编辑区,而是系统自身的命令提示符(例如 Windows 下类似 C:\Users\username>,macOS 下类似 username@MacBook-Pro ~ %)。在输入脚本之前,必须先核实当前系统中安装的 Python 解释器命令名称。

在终端光标处键入以下命令并敲击回车:

终端输入Shell
python --version
示例输出
Python 3.11.4

如果终端输出了类似上述的 Python 3.x 版本号,说明系统已成功识别 python 命令。如果提示未找到命令,或在 macOS/Linux 上输出的是较旧的 Python 2.x 版本,则应尝试输入:

终端输入(替代命令)Shell
python3 --version
示例输出
Python 3.12.1
概念辨析:为什么有的电脑敲 python 有的必须敲 python3?

在很多技术交流中,有人习惯直接说“敲 python 就行”,这种说法在特定系统下会引发困惑。 早期的 macOS 和许多 Linux 发行版长期将 python 作为 Python 2.x 的保留符号链接,而将现代 Python 3 绑定为独立的 python3 可执行文件。 而在 Windows 系统中,官方安装包在勾选“Add python.exe to PATH”后,通常会直接生成 python.exe,同时 Windows 还额外提供了官方启动器命令 py(如 py -3 --version)。

判断准则:无论是在哪种操作系统下,先用 --version 参数测试,以能够正确打印出 Python 3 版本号的那个别名(如 python、python3 或 py)作为本文后续所有执行步骤的命令前缀。

Python程序怎么运行:命令行执行.py脚本的基础步骤
图 1:Python 命令行执行的基础四步操作标准流

第二步:准备并确认测试脚本文件

Python 程序文件是以 .py 为扩展名的纯文本文件。为了完整走通整个执行链条,我们准备一个结构最简单的基础测试脚本。

在电脑中选择一个便于查找的文件夹(例如在电脑的用户目录或桌面下建立一个名为 py_demo 的文件夹),使用文本编辑器(如 VS Code、Sublime Text 或系统自带的记事本)新建一个名为 hello.py 的文件,写入如下代码并保存:

hello.py 脚本内容Python
# 定义消息内容
message = "Hello, Python from Command Line!"

# 在终端中打印输出
print(message)
注意事项:防范“假扩展名”与编码陷阱
  • 防范隐藏扩展名:Windows 系统在默认设置下会隐藏常见文件的扩展名。如果使用系统自带记事本新建文本文档并重命名为 hello.py,其在磁盘上的真实全名很可能是 hello.py.txt。运行前需在 Windows 文件资源管理器的“查看”菜单中勾选“文件扩展名”,确保文件名确实以 .py 结尾。
  • 统一 UTF-8 编码:保存文件时,请确保文件编码为标准 UTF-8 格式,避免在代码中书写中文注释或字符串时发生字符集解析错误。
关键辨析:交互式命令行与运行脚本文件的根本区别

初学者最容易混淆的另一个场景,是在终端直接输入 python 并回车。此时终端会进入一个由三个大于号(>>>)提示符引导的交互式环境(REPL)。

在 >>> 提示符下,输入每一行 Python 代码回车后都会立即得到计算结果,但这属于临时交互运行,代码不会持久保存在磁盘上。许多人此时在此处直接敲入 python hello.py,系统便会抛出 SyntaxError: invalid syntax 语法错误。

核心规则:要运行保存在硬盘中的脚本文件,必须在操作系统自身的 Shell 提示符(非 >>>)下执行启动命令。如果不小心进入了交互模式,需先输入 exit() 并回车退出,重返系统终端。

第三步:在命令行中定位并运行脚本的两种路径

解释器需要准确知道目标文件存放的位置。在命令行中指示文件位置,主要有两种标准做法。

方式一:切换工作目录后执行(最推荐的基准做法)

这是日常开发中最标准、最不易出错的方式:首先使用操作系统的 cd(Change Directory,更改目录)命令将终端所在的“当前工作目录”(Current Working Directory, 简称 CWD)切换到脚本存放的文件夹中,随后直接用文件名调用。

假设我们的 hello.py 存放在 /Users/username/py_demo 文件夹中(Windows 用户对应类似 D:\py_demo),具体执行操作如下:

1. 切换目录命令(macOS / Linux)Shell
cd /Users/username/py_demo

若在 Windows 系统中且目标位于其他盘符(如从 C 盘切换到 D 盘),需在 cd 后面加上 /d 参数,或直接单独输入盘符:

1. 切换目录命令(Windows 跨盘符)CMD
cd /d D:\py_demo

切换完成后,建议先执行列出目录内容的命令(macOS/Linux 输入 ls,Windows 输入 dir),亲眼确认屏幕输出列表中确实出现了 hello.py。确认无误后,直接执行:

2. 执行脚本命令Shell
python hello.py
示例输出
Hello, Python from Command Line!

方式二:在任意目录下传入完整绝对路径或相对路径

如果在当前终端中不想变更工作目录,也可以直接将脚本的绝对路径作为参数传给解释器:

任意目录下直接调用全路径(示例)Shell
# macOS / Linux 下传入绝对路径
python3 /Users/username/py_demo/hello.py

# Windows 下传入绝对路径(若路径含空格需加英文双引号)
python "C:\Users\username\Desktop\my folder\hello.py"
Python程序怎么运行:命令行执行.py脚本的基础步骤
图 2:工作目录切换模式与全路径直接调用模式的底层运行机制对比

如图 2 所示,之所以强烈推荐“先用 cd 切换目录”的模式一,原因在于 Python 程序的相对路径读取机制。 当你的代码中包含诸如 with open('data.txt') 这样的文件读写代码时,Python 寻找文件的起点并不是该脚本本身存放的物理位置,而是启动该 Python 进程时终端所在的工作目录。 如果不在脚本目录下执行,程序就会因为工作目录偏离而找不到同级目录下的配置文件或数据资源。因此,将终端目录提前切换到代码同级,是最稳妥的工程习惯。

第四步:向脚本传递命令行参数与执行过程剖析

在实际工作中,许多脚本需要像系统工具一样接收外部输入的指令或文件路径,而不是将参数硬编码在代码内部。命令行执行脚本的一大核心优势,就是可以极方便地在文件名后面附加参数。

在命令行语法中,紧跟在脚本文件名后面的所有用空格隔开的字符,都会被操作系统打包传送给 Python 程序。Python 标准库内置的 sys.argv 列表专门用于捕获这些外部输入。

我们新建一个名为 process.py 的文件,编写如下逻辑:

process.py 示例代码Python
import sys

# sys.argv 是一个列表,存储所有命令行参数
print("接收到的完整参数列表:", sys.argv)

# 第 0 个元素始终是脚本文件自身的名称
script_name = sys.argv[0]
print("脚本名称:", script_name)

# 检查是否传入了外部参数
if len(sys.argv) > 1:
    target_file = sys.argv[1]
    print("目标处理文件:", target_file)
else:
    print("提示:未传入任何附加参数")

在终端中带参数运行该脚本:

带参数执行命令Shell
python process.py sample_data.csv --mode fast
示例输出
接收到的完整参数列表: ['process.py', 'sample_data.csv', '--mode', 'fast']
脚本名称: process.py
目标处理文件: sample_data.csv
Python程序怎么运行:命令行执行.py脚本的基础步骤
图 3:命令行参数分词与 Python 内部 sys.argv 映射关系图解

从图 3 的映射模型可以看出,Shell 会以空格为界把字符串切分为多个单元:

  • sys.argv[0] 固定指向当前被调用的脚本名称(或路径)。
  • 从 sys.argv[1] 开始,依次存放用户在后面追加的位置参数和选项参数。
  • 类型提醒:从命令行传入的所有参数在进入 Python 后默认都是纯字符串(str)类型。如果传入的是数值(例如端口号或循环次数),必须在代码内部显式使用 int() 或 float() 完成类型转换后方可参与算术运算。

第五步:高频报错排查与“双击运行”误区辨析

在命令行执行脚本的过程中,初学者最常遇到的两类报错都有着极其明确的物理成因,无需盲目猜测:

1. “'python' 不是内部或外部命令” 或 “command not found: python”

报错根因:操作系统的底层查找机制依赖一个名为 PATH 的全局环境变量。当你在终端输入 python 时,操作系统会遍历 PATH 中记录的所有文件夹去寻找对应的可执行文件。如果该变量中没有包含 Python 的安装路径,系统就会提示找不到命令。

解决办法:Windows 用户可以通过重新运行 Python 官方安装包,选择“Modify”,并务必勾选“Add Python to environment variables”完成自动修复;或者在系统“高级系统设置”中手动将 Python 安装目录(如 C:\Users\username\AppData\Local\Programs\Python\Python3xx\)添加到用户变量的 PATH 中。macOS 与 Linux 用户则建议先执行 which python3 确认可执行文件的实际安装路径。

2. “can't open file 'xxx.py': [Errno 2] No such file or directory”

报错根因:解释器在当前终端所处的工作目录下没有找到名为 xxx.py 的文件。

解决办法:不要急于反复回车。先在终端敲击 ls(macOS/Linux)或 dir(Windows)查看当前目录下的真实文件清单。检查两点:第一,终端所在的目录是否确实是保存代码的文件夹;第二,文件名拼写是否准确,特别是检查是否存在被系统自动追加的隐藏后缀(如实际是 xxx.py.txt)。

方法辨析:为什么不能图省事“双击运行”py文件?

在图形界面中,很多初学者习惯用鼠标双击 .py 文件,发现屏幕弹出一个黑色的命令行窗口,但还没看清内容就瞬间一闪而过关闭了。

这并不是程序损坏,而是操作系统的预设机制:双击运行脚本时,系统会自动启动一个临时的控制台进程来宿主脚本运行。当脚本的最后一行代码执行结束(或中途发生未捕获的异常崩溃)时,该进程的任务便宣告完成,系统会立即将临时窗口销毁。如果脚本没有编写暂停等待输入的指令,用户便无法查看输出结果。

命令行运行的不可替代性:在系统终端中执行时,终端窗口是独立驻留的长生命周期会话。程序运行结束之后,终端依然保持展开状态,所有的打印结果、耗时统计以及异常报错堆栈(Traceback)都会原样保留在屏幕上,供开发者从容阅读与排查。此外,命令行执行还原生支持传参、输出重定向到文件(> output.log)以及管道协作。

Python程序怎么运行:命令行执行.py脚本的基础步骤
图 4:Python 命令行运行核心要素与异常排查全景速查图

总结:命令行执行的核心记忆法则

掌握在命令行运行 Python 脚本,是脱离集成开发环境限制、理解现代软件工程自动化部署与任务调度的基石。归纳起来,整个操作可以凝聚为简洁的三步口诀:

  1. 一验环境:打开系统终端,通过 python --version 或 python3 --version 确认生效的解释器别名与安装状态;
  2. 二定目录:利用 cd 命令将终端的工作路径切换到脚本存放的具体文件夹,并用目录清单命令核实文件存在;
  3. 三调脚本:输入 python 文件名.py 敲击回车,在保留的终端窗口中直接阅读执行反馈或异常堆栈。

只要理清了“操作系统终端”、“Python 解释器进程”与“脚本文件物理位置”三者之间的清晰协作关系,就能在任何平台、任何服务器环境下自如执行与调度 Python 代码。

相关专题:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。