命令行怎么运行py脚本文件

小满
小满
发布时间:2026-11-13| 4人浏览过
原创

详细介绍在 Windows、macOS 和 Linux 命令行或终端中运行 Python 脚本文件的方法,包括环境验证、路径定位、传参技巧及常见报错排查。

在命令行或终端中运行 Python 脚本,核心本质是调用已安装的 Python 解释器程序,并将 .py 脚本文件的路径作为参数传递给它。最基本的命令格式就是输入解释器名称加上文件名,例如 python script.py(在 macOS 和 Linux 系统中通常为 python3 script.py)。只要系统已正确配置环境,并且当前终端已正确定位到文件所在的目录,按下回车键即可立即执行该脚本。

一、运行前的必要准备:确认 Python 解释器环境

要想在命令行中直接执行 Python 脚本,计算机必须具备两个前提条件:一是系统已经安装了 Python 环境,二是 Python 的执行程序所在目录已经加入到了系统的环境变量(PATH)中。你可以按照下面的步骤快速验证:

  1. 打开系统命令行窗口:在 Windows 下按下快捷键 Win + R,输入 cmd 或 powershell 并回车;在 macOS 或 Linux 下通过应用列表启动“终端”(Terminal)。
  2. 输入版本检测命令:在窗口中输入以下命令并回车:
# Windows 系统常用命令
python --version

# macOS / Linux 系统常用命令(或已安装 Python 3 的环境)
python3 --version

如果命令行输出了类似 Python 3.11.4 的版本信息,说明解释器已就绪。如果提示“不是内部或外部命令”或“command not found”,则说明系统找不到 Python 程序,需要重新安装并勾选“Add Python to PATH”,或者手动补全环境变量。

命令行怎么运行py脚本文件
图 1:命令行运行 Python 脚本的调用模型与系统环境检索流程

二、运行 Python 脚本的两种核心路径方式

在实际操作中,命令行必须知道你的 .py 文件存放在磁盘的具体什么位置。通常有两种最常用的定位方式:一种是先通过 cd 命令进入脚本所在的文件夹,另一种是直接提供文件的绝对路径或相对路径。

方法一:切换到脚本所在目录再执行(推荐日常使用)

这是最符合开发习惯的方式。因为脚本内部经常需要读写同目录下的资源文件(例如图片、文本或配置),将命令行的工作目录切换到脚本所在位置,能有效避免因相对路径找不到文件的错误。

# 1. 切换工作路径到脚本所在文件夹
# Windows 示例(若跨盘符,可使用 cd /d D:\my_project)
cd C:\Users\Username\Projects\demo

# macOS / Linux 示例
cd /Users/username/projects/demo

# 2. 列出当前目录下的文件,确认脚本存在
dir     # Windows 使用
ls      # macOS / Linux 使用

# 3. 直接使用文件名运行
python app.py

方法二:直接通过完整路径运行脚本

如果当前正在其他工作目录下,或者需要编写批处理文件在后台定时运行,无需执行 cd 切换,直接在 Python 命令后接上脚本的完整绝对路径即可:

# Windows 示例(路径若包含空格,建议用半角双引号包裹路径)
python "D:\WorkSpace\PythonTask\data_sync.py"

# macOS / Linux 示例
python3 /Users/username/scripts/backup_task.py

实用操作技巧:在绝大多数现代终端(包括 Windows Terminal、PowerShell、macOS 终端)中,你可以先在窗口中敲入 python (带一个空格),然后直接从文件管理器中将 .py 脚本拖拽到终端窗口里,系统会自动把完整路径填充进去,非常适合快速测试。

命令行怎么运行py脚本文件
图 2:命令行运行 Python 脚本的四个标准操作步骤与验证清单

三、实用进阶:传递参数与标准流重定向

在日常脚本编写和自动化运维中,不仅需要运行脚本,往往还需要在运行时向脚本传入动态配置参数,或者把脚本输出的大量日志保存到文件中。这些都可以通过命令行原生支持的功能实现。

1. 向脚本传递命令行参数

在命令行运行脚本时,跟在脚本文件名后面的所有用空格隔开的内容,都会作为参数传入 Python。例如:

python process_data.py --input raw.csv --batch 100

在 Python 脚本代码内部,可以通过标准库 sys.argv 直接获取这些参数(sys.argv[0] 永远是脚本名称本身,随后的索引项对应传入的参数),或者使用功能更完备的 argparse 模块进行结构化解析。

2. 将输出结果重定向到文本文件

如果脚本执行后会打印大量日志,而你不想让它们直接刷满终端屏幕,可以使用重定向操作符 >(覆盖写入)或 >>(追加写入):

# 将脚本的所有标准输出保存到 output.log 文件中
python backup.py > output.log

# 将标准输出与错误信息一起记录到日志文件中
python backup.py > run.log 2>&1
命令行怎么运行py脚本文件
图 3:命令行参数切分机制与标准输入输出重定向结构

四、运行过程中常见报错与定位解决

初学者在命令行中运行 Python 脚本时,通常会遇到几类固定报错。只要弄清楚报错产生的原因,就能快速排除故障。

终端报错信息 主要产生原因 针对性解决方法
python 不是内部或外部命令 或 command not found: python 系统 PATH 环境变量中未包含 Python 安装路径;或者安装时未勾选全局路径。 1. 尝试输入 python3 或 py;
2. 若仍无效,重新运行安装包并勾选“Add python.exe to PATH”。
No such file or directory 或 系统找不到指定的文件 终端当前工作目录与脚本实际所在目录不符;或者文件名拼写存在大小写/扩展名错误。 1. 输入 pwd (Mac/Linux) 或 cd (Win) 查看当前目录;
2. 用 cd 目标文件夹 切换正确目录,或拖拽文件获取绝对路径。
ModuleNotFoundError: No module named 'xxx' 脚本所依赖的第三方库未安装在当前调用的 Python 环境中,或存在多个 Python 版本冲突。 1. 运行 python -m pip install xxx;
2. 若使用了虚拟环境,需先激活虚拟环境再执行脚本。
SyntaxError: invalid syntax 脚本文件内部代码存在语法错误,或者使用了当前 Python 解释器版本不支持的高级语法。 根据报错提示的具体行号打开 .py 文件修改代码,确保代码缩进及符号均为英文半角。
命令行怎么运行py脚本文件
图 4:命令行运行 Python 常见故障表现、诱因与决策修复路径

五、日常开发建议与总结

通过命令行运行 Python 脚本是每位开发者必备的基础技能。在日常使用中,遵循以下习惯能够让你少走很多弯路:

  • 优先使用虚拟环境(venv):在大型项目或涉及第三方库时,使用 python -m venv venv 为每个项目创建独立环境,避免不同项目间的依赖版本相互干扰。
  • 善用终端 Tab 键补全:在命令行中输入 cd 或文件名时,只需要敲出前两个字母后按一次 Tab 键,系统会自动补全完整的文件夹或文件名,不仅输入速度快,还能有效防止输错字母或漏打后缀。
  • 保持统一的命令别名认知:如果在 Windows 上安装了多版本 Python,可以直接使用官方提供的启动器 py -3.11 script.py 来精准指定版本;在 Linux/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 算法库。