Windows和macOS下怎么用命令行运行Python脚本

追风的人
追风的人
发布时间:2026-11-08| 7人浏览过
原创

详细讲解在Windows与macOS系统中如何通过命令行(PowerShell与Terminal)运行Python脚本,包括解释器检查、目录切换、绝对与相对路径差异、常见报错解决与完整图解。

在命令行中运行Python脚本的核心逻辑非常直接:先打开系统自带的终端工具,输入Python解释器的调用名称(如 python 或 python3),再在其后附上脚本文件的路径并按下回车。无论使用Windows还是macOS,系统都会根据这个指令唤醒Python环境并逐行执行代码。本文将详细拆解两个平台下的具体操作步骤、路径定位技巧及常见报错解决方法。
Windows和macOS下怎么用命令行运行Python脚本
图 1:Windows与macOS双平台下命令行运行Python的核心要素概览

一、准备工作:打开终端与确认Python环境

命令行操作的第一步是进入系统的字符交互界面。在Windows中通常称为“命令提示符(CMD)”或“PowerShell”;在macOS中则直接统称为“终端(Terminal)”。打开终端后,必须首先确认系统中安装的Python到底使用哪个指令来唤醒。

1. 如何快速打开终端窗口

  • Windows:按下键盘快捷键 Win + R,在弹出的“运行”框中输入 powershell 或 cmd 后回车;或者直接在开始菜单中搜索“PowerShell”。
  • macOS:按下快捷键 Command + 空格键 调出聚焦搜索(Spotlight),输入 终端 或 Terminal 后回车即可打开。

2. 验证并区分命令名称:python 与 python3

很多新手在运行脚本时受挫,第一步往往卡在指令名称上。在不同操作系统中,Python解释器的注册名称存在关键差异:

  • Windows系统:绝大多数情况下命令为 python。此外,官方安装包还自带启动器 py。如果安装时勾选了“Add python.exe to PATH”,在终端直接输入 python --version 即可显示版本号。
  • macOS系统:几乎全部使用 python3。早期的macOS曾自带过时的Python 2.7(命令为 python),而后来苹果移除了内置环境。用户自主安装的Python 3在macOS的终端环境变量中默认注册为 python3。
Windows和macOS下怎么用命令行运行Python脚本
图 2:Windows与macOS下验证Python解释器命令的正确方法

二、核心操作:用命令行运行脚本的标准步骤(相对路径法)

在实际编写与运行脚本时,最通用、最不容易产生路径混淆的方式是“先切目录,再传文件名”。这被称为相对路径运行法。

假设我们有一个示例Python脚本 hello.py,其代码内容如下:

hello.pyPython代码
print("Hello from Command Line!")
print("当前运行成功!")

该脚本存放在以下文件夹中:

  • Windows中的存放路径:D:\work\project\hello.py
  • macOS中的存放路径:/Users/alex/project/hello.py

第 1 步:在终端中切换到脚本所在目录

使用 cd(Change Directory)命令进入包含脚本文件的文件夹。

在 Windows PowerShell 中:

Windows PowerShell命令示例
cd D:\work\project

如果使用的是传统的 Windows 命令提示符(CMD),且目标文件夹位于其他驱动器(如从 C 盘切换到 D 盘),还需要加上 /d 参数:cd /d D:\work\project。

在 macOS 终端中:

macOS Terminal命令示例
cd /Users/alex/project

第 2 步:查看当前目录文件(可选,用于核对)

进入目录后,可以查看当前目录下是否存在该脚本文件:

  • Windows:输入 dir 并回车。
  • macOS:输入 ls 并回车。

在列表中确认能看到 hello.py 即可进行下一步。

第 3 步:运行 Python 脚本

此时终端的工作路径已经位于该脚本所在的文件夹内,因此直接输入解释器名称加上文件名即可开始执行:

Windows 命令与示例输出:

Windows 命令行执行命令与输出分开
# 执行命令
python hello.py

# 终端输出结果(示例)
Hello from Command Line!
当前运行成功!

macOS 命令与示例输出:

macOS 终端执行命令与输出分开
# 执行命令
python3 hello.py

# 终端输出结果(示例)
Hello from Command Line!
当前运行成功!
Windows和macOS下怎么用命令行运行Python脚本
图 3:命令行运行Python脚本的标准三步操作时序流程

三、进阶方法:不切换目录直接运行(绝对路径与拖拽)

如果不想每次都执行 cd 命令,或者只是想临时快速测试一个脚本,可以直接在解释器命令后跟上脚本的完整绝对路径。

1. 绝对路径语法示例

在任意终端路径下,直接拼接完整路径:

  • Windows:
    python "C:\Users\Developer\Desktop\test.py"
  • macOS:
    python3 "/Users/developer/Desktop/test.py"
注意路径中的空格与引号:如果文件夹或文件名包含空格(例如 My Projects),必须用英文双引号将整个文件路径包裹起来。否则终端会将空格视作参数分隔符,导致报出 No such file or directory 的错误。

2. 极其实用的终端拖拽技巧

手动在终端中输入长串的文件路径容易出现打字错误。现代系统的终端(Windows Terminal、PowerShell、macOS Terminal)都支持文件拖拽功能:

  1. 在终端中先敲入 python (Windows)或 python3 (macOS),注意后面保留一个英文空格,先不要按回车。
  2. 从文件资源管理器(Windows)或访达 Finder(macOS)中,直接用鼠标将 .py 脚本文件拖入终端窗口中。
  3. 终端会自动填充该文件的完整绝对路径,并在包含空格时自动补齐引号或转义反斜杠。
  4. 敲击回车键,即可立刻执行。

3. 差异对比:相对路径运行 vs 绝对路径运行

理解这两种方式的关键差异非常重要,因为这直接决定了代码内部的文件读写(如 open("data.csv"))能否顺利执行:

对比维度 方式 A:先 cd 进入目录再运行(相对路径法) 方式 B:在任意位置直接跟绝对路径运行
当前工作目录 (CWD) 等于脚本所在的目录 停留在终端打开时的初始目录(例如系统用户主目录)
相对文件读写 脚本内读取 open("data.txt") 能直接找到同目录文件 直接读取 data.txt 会在终端初始目录查找,大概率报 FileNotFoundError
操作便利性 需要多执行一步 cd 操作 配合鼠标拖拽单次执行速度更快
适用场景 绝大部分需要读写项目本地文件、模块相互引用的项目 单文件无外部依赖的小测试、数据计算、网络请求脚本
Windows和macOS下怎么用命令行运行Python脚本
图 4:相对路径与绝对路径调用时的工作目录解析差异对比

四、向脚本传递命令行参数

命令行运行Python脚本的一大核心优势,是可以在执行时从外部向脚本传入参数,而不需要在代码内部硬编码修改变量。

例如,我们编写一个接受用户名称与次数的脚本 greet.py:

greet.pyPython代码
import sys

# sys.argv 列表存储了命令行传入的所有参数
# sys.argv[0] 是脚本名称本身,sys.argv[1] 是首个外部参数
if len(sys.argv) > 1:
    target_name = sys.argv[1]
else:
    target_name = "访客"

print(f"你好,{target_name}!脚本已在命令行成功运行。")

在终端中执行传参调用:

终端传参执行命令与输出分开
# Windows 执行示例
python greet.py 小明

# macOS 执行示例
python3 greet.py 小明

# 示例输出结果
你好,小明!脚本已在命令行成功运行。

通过空格分隔多个参数即可顺次传入。如果参数中本身包含空格,同样使用双引号将其包裹起来(例如 python greet.py "John Doe")。

五、常见报错与故障排查清单

在初次尝试命令行运行时,极易遇到以下四种典型问题。请根据终端输出的英文提示对照修复:

1. "'python' 不是内部或外部命令,也不是可运行的程序"(Windows)

  • 发生原因:安装Python时,未勾选“Add python.exe to PATH”,导致系统命令行找不到 python.exe 的存放路径。
  • 解决方法:
    1. 尝试使用系统启动器命令:输入 py 脚本名.py。只要正常安装了Python,py 通常已自动注册。
    2. 若依旧报错,重新运行官方安装包,选择 Modify 或 Repair,并在高级选项中勾选 Add Python to environment variables。

2. "zsh: command not found: python"(macOS)

  • 发生原因:macOS 现代系统的默认 Shell 是 zsh,且苹果已从系统中完全剥离旧版本 Python 2。因此系统中并不存在名为 python 的软链接。
  • 解决方法:在命令中使用 python3 替代 python(例如 python3 my_script.py)。

3. "No such file or directory" 或 "找不到指定的文件"

  • 发生原因:终端当前所在的工作目录与脚本文件实际存放的目录不一致,或者文件名打错、包含隐藏扩展名(例如实际文件名是 test.py.txt)。
  • 解决方法:
    1. 运行 cd 进入脚本所在目录后再运行;
    2. 或者直接使用上文提到的“拖拽文件到终端窗口”的方式执行,由系统生成准确路径。

4. 脚本窗口一闪而过(双击运行 vs 命令行运行)

很多新手习惯在文件管理器中双击 .py 文件。双击运行时,系统确实会短暂唤醒命令行黑框,但一旦代码执行完毕(通常耗时不到 0.1 秒),该窗口便会立即自动关闭,导致读者根本看不到输出或报错。

核心优势对比:在打开的终端窗口中手动运行脚本,无论脚本正常完成还是抛出代码异常(Traceback),终端窗口都永远不会自动关闭。所有打印结果和错误回溯均会完整保存在屏幕上,便于开发者排查问题。

Windows和macOS下怎么用命令行运行Python脚本
图 5:命令行运行Python脚本的全流程核心速查与排错决策指南

六、结语

掌握用命令行运行Python脚本,是脱离初学阶段、迈向工程化开发与自动化的必经之路。总结来说,只需牢记“打开终端”、“确认解释器名称(Windows用 python / py,macOS用 python3)”以及“进入脚本目录后传入文件名”这三个核心环节,便可以在不同操作系统间无缝切换,高效稳定地执行各类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 算法库。