命令行怎么运行Python脚本:cd切换目录与执行命令

Ryan
Ryan
发布时间:2026-11-14 | 3人浏览过
原创

详细讲解在命令行中运行Python脚本的完整过程:从打开终端、检查Python环境,到使用cd命令准确切换工作目录,以及执行命令和排查常见报错。

在命令行中运行 Python 脚本的核心流程非常直接:先打开系统终端(Windows 的 CMD/PowerShell,或 macOS/Linux 的 Terminal),使用 cd 命令切换到脚本所在的文件夹目录,再输入 python 脚本名.py(或 python3 脚本名.py)按下回车执行。只要系统已配置好 Python 解释器环境,命令行便会立即加载并运行该脚本代码。

一、运行前的准备:确认终端与 Python 环境

要在命令行运行脚本,首先需要调出操作系统的命令行交互界面,并确认 Python 解释器可以正常被调用。不同系统打开终端的方式如下:

  • Windows 系统:按下快捷键 Win + R,在运行窗口中输入 cmd 后回车打开命令提示符;或者在任务栏搜索栏直接搜索 PowerShell 打开。
  • macOS 系统:按下快捷键 Command + 空格键 呼出聚焦搜索(Spotlight),输入 终端 或 Terminal 后回车。
  • Linux 系统:使用快捷键 Ctrl + Alt + T 即可快速唤出系统默认终端窗口。

打开终端后,第一件事是验证系统是否已经识别 Python 命令。在终端光标处输入以下版本检查指令并回车:

python --version

或者在部分 macOS 与 Linux 系统中输入:

python3 --version

如果命令行返回类似于 Python 3.10.8 的版本号信息,说明环境变量配置正确,可以直接开始后续操作;如果返回“不是内部或外部命令”或“command not found”,则表明系统尚未安装 Python,或者在安装时未勾选“Add Python to PATH”选项。

命令行怎么运行Python脚本:cd切换目录与执行命令
图 1:从打开终端到运行输出的标准操作顺序

二、理解“当前工作目录”:为什么必须先用 cd 切换

初学者最容易遇到的困惑之一,是在命令行直接输入 python test.py 后收到系统报错:can't open file 'test.py': [Errno 2] No such file or directory。

出现这个提示的原因在于当前工作目录(Current Working Directory,简称 CWD)。每当打开一个命令行终端,系统都会处于一个默认的起始位置。例如在 Windows 中,默认目录通常是 C:\Users\用户名>;在 macOS 中,默认目录通常是 /Users/用户名。

如果在命令中仅写文件名 test.py,Python 解释器只会去当前工作目录下寻找这个文件。如果实际的脚本保存在 D:\Code\Project\test.py 或桌面上,解释器在当前默认目录自然找不到该文件,因而抛出找不到文件的错误。

此外,当脚本内部需要读取本地的文本文件、配置文件(如 open("config.json"))时,相对路径也是以当前工作目录为基准进行解析的。因此,使用 cd 切换到脚本所在目录,不仅能让我们直接用短文件名运行脚本,还能保证文件内部的相对路径加载完全正确。

命令行怎么运行Python脚本:cd切换目录与执行命令
图 2:工作目录与脚本文件位置不匹配时的寻址差异

三、cd 命令的核心用法与关键细节

cd 代表 Change Directory(改变目录),是所有主流操作系统的基础内置命令。其基本语法结构非常简洁:

cd 目标文件夹路径

1. 常用导航操作

  • 进入子文件夹:如果当前目录下有名为 demo 的文件夹,输入 cd demo 即可直接进入。
  • 返回上一级目录:输入 cd ..(两个英文句号),即可返回当前文件夹的父级目录。
  • 返回用户根目录:在 macOS/Linux 下输入 cd ~ 或直接输入 cd 回车;在 Windows 下输入 cd \ 可回到当前盘符根目录。

2. Windows 系统的跨盘符切换(关键点)

在 Windows CMD 中,驱动器盘符(如 C:、D:、E:)是彼此隔离的。如果当前位于 C:\Users\Admin,单纯输入 cd D:\Projects,命令行并不会跳转到 D 盘,而只会记录 D 盘的工作路径。要实现跨驱动器跳转,必须使用 /d 参数:

cd /d D:\Projects\MyPythonApp

或者分两步执行:先输入 D: 回车切换驱动器盘符,再输入 cd MyProjects\MyPythonApp。

3. 路径包含空格与特殊字符的处理

如果文件夹名称包含空格(如 Python Projects 或 New Folder),直接输入路径会导致命令行将空格误认为是参数分隔符。解决方法是用英文双引号将路径整体包裹起来:

cd "D:\Python Projects\data analysis"
实用技巧:直接拖拽文件夹
在终端中先输入 cd (注意 cd 后面有一个空格),然后直接从文件资源管理器(Windows)或访达(macOS)中把脚本所在的文件夹拖入终端窗口,终端会自动粘贴该文件夹的完整绝对路径,省去手动输入的繁琐与拼写错误。

四、执行 Python 脚本的命令格式与调用方式

切换到脚本所在目录后,即可正式调用 Python 解释器执行代码。

1. 基础执行命令

如果当前目录下有名为 main.py 的文件,直接执行:

python main.py

在 macOS 或安装了多版本 Python 的 Linux 系统中,建议使用指定版本的命令:

python3 main.py

2. 传递命令行参数

当脚本需要从命令行接收动态输入参数(代码内部使用 sys.argv 或 argparse 模块处理)时,可以在脚本名称后依次追加参数,参数之间使用空格分隔:

python main.py input.txt 100 --verbose

3. 替代方案:不使用 cd,直接通过绝对路径执行

我们并非必须先使用 cd 命令。在终端的任何路径下,只要输入完整的绝对路径,Python 解释器同样能够读取文件:

python D:\Projects\MyPythonApp\main.py

这种方式适合在计划任务(如 Windows 任务计划程序、Linux crontab)或自动化脚本中单行调用。但在日常交互式开发时,推荐先 cd 进入目录,避免因工作目录不一致导致代码内部读写相对路径文件时出错。

命令行怎么运行Python脚本:cd切换目录与执行命令
图 3:交互式运行与自动化绝对路径调用的特点对比

五、常见报错原因与排查解决清单

在命令行运行脚本时,如果遇到异常中断,可以通过以下针对性步骤进行快速排查:

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

根本原因:操作系统在自身 PATH 环境变量所包含的系统目录中,未能找到名为 python.exe 的可执行文件。

解决办法:

  • 在 Windows 下重新运行 Python 安装包,点击“Modify”(修改),并确保勾选“Add Python to environment variables”。
  • 在 macOS/Linux 下,尝试使用 python3 命令代替 python。
  • 手动将 Python 安装路径(例如 C:\Python310 和 C:\Python310\Scripts)添加至系统环境变量的 Path 列表中,配置后需要重启终端窗口生效。

2. 报错:No such file or directory

根本原因:终端当前所在的路径下并不存在该文件,或文件名拼写不一致。

解决办法:

  • 使用 cd 命令确认已切换至正确的目录。
  • 在当前终端执行目录查看命令:Windows 输入 dir,macOS/Linux 输入 ls,核对当前目录下的文件真实列表。
  • 警惕隐藏后缀名:在 Windows 中如果开启了“隐藏已知文件类型的扩展名”,新建文本文件时可能将文件误命名为 script.py.txt,此时实际运行需要带上真实后缀,或者在文件管理器中打开“文件扩展名”显示后进行重命名更正。

3. 窗口一闪而过(双击运行与命令行运行的区别)

不少读者会尝试直接在文件管理器中双击 .py 文件。双击运行时,系统会自动调起控制台窗口并在代码结束时立即关闭;一旦脚本有报错,窗口会在毫秒级闪退,导致无法看清错误原因。而在命令行中通过 cd 切换并手动输入命令执行,执行完毕后终端会保持打开状态,完整的输出结果和错误回溯信息(Traceback)均能清晰保留以供查看。

命令行怎么运行Python脚本:cd切换目录与执行命令
图 4:常见命令行运行报错的分支排查路径

六、常用命令速查总结

为了便于在日常开发中随时查阅,下表汇总了 Windows 与 macOS/Linux 系统中涉及目录切换和脚本运行的核心命令对照:

操作目标 Windows (CMD / PowerShell) macOS / Linux (Terminal)
查看 Python 版本 python --version 或 py --version python3 --version
切换到同盘符文件夹 cd 目标文件夹路径 cd 目标文件夹路径
跨盘符切换目录 cd /d D:\目标路径 不适用(统一定义于根目录 / 下)
返回上一层文件夹 cd .. cd ..
列出当前目录文件 dir ls 或 ls -l
运行指定 Python 脚本 python script.py python3 script.py

掌握 cd 切换目录与调用解释器的基本规律后,在命令行运行脚本便会成为一种高效、可控且便携的标准习惯。在后续进阶开发中,当引入虚拟环境(如 venv、conda)时,也是在此工作目录机制的基础上激活隔离环境并执行脚本。

相关专题:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表