在 Python 中运行脚本是一个非常基础且重要的操作,下面我将为你详细介绍几种最常用的方法,从最基础的到更高级的,并解释它们各自的优缺点和适用场景。

使用 python 命令(最常用)
这是最直接、最通用的方法,适用于所有操作系统(Windows, macOS, Linux)。
步骤:
-
打开终端/命令行:
- Windows: 打开 "命令提示符" (CMD) 或 "PowerShell"。
- macOS / Linux: 打开 "终端" (Terminal)。
-
导航到脚本所在目录: 使用
cd(change directory) 命令进入你的 Python 脚本所在的文件夹。# 示例:如果你的脚本在 C:\Users\YourName\Documents\PythonProjects cd C:\Users\YourName\Documents\PythonProjects
-
运行脚本: 使用
python命令,后面跟上你的脚本文件名。
(图片来源网络,侵删)python your_script_name.py
注意:如果你的系统有多个 Python 版本(Python 2 和 Python 3),你可能需要使用
python3来明确指定运行 Python 3 脚本。python3 your_script_name.py
示例:
假设你有一个名为 hello.py 的文件,内容如下:
# hello.py
print("Hello, World!")
name = input("What is your name? ")
print(f"Nice to meet you, {name}!")
在终端中运行它:
$ python hello.py Hello, World! What is your name? Alice Nice to meet you, Alice!
直接双击脚本文件(仅限 Windows)
在 Windows 系统上,你可以像运行 .exe 文件一样直接双击 Python 脚本(.py 文件)来运行它。

如何工作:
- Windows 会查找与
.py文件关联的程序,默认情况下,它会使用已安装的 Python 解释器来运行该脚本。 - 脚本会运行,但终端窗口(命令提示符)会立即关闭,除非脚本本身暂停等待用户输入(如上面的
input()示例)。
优点:
- 非常简单,只需双击。
缺点:
- 窗口会瞬间关闭:如果脚本运行出错,你根本来不及看到错误信息,如果脚本没有
input(),执行完就关了,结果看不到。 - 不适合调试和开发。
解决方案(创建批处理文件):
为了解决窗口关闭的问题,你可以创建一个简单的批处理文件(.bat)来运行你的脚本。
- 在与
hello.py相同的目录下,创建一个新文本文件,命名为run_hello.bat。 - 用记事本打开
run_hello.bat,输入以下内容:@echo off python hello.py pause
@echo off:不显示命令本身。python hello.py:运行你的脚本。pause:这是关键!它会暂停批处理文件的执行,直到你按下任意键,这样终端窗口就不会立即关闭了。
- 双击
run_hello.bat文件即可运行你的脚本,并在执行完毕后保持窗口打开。
在 IDE(集成开发环境)中运行
对于开发者来说,使用 IDE 是最高效、最方便的方式,IDE 不仅让你运行代码,还提供了代码编辑、调试、项目管理等一系列强大功能。
常见的 Python IDE:
-
Visual Studio Code (VS Code):
- 安装: 确保你安装了 Python 扩展。
- 运行: 打开你的
.py文件,点击右上角的 "Run Python File" 按钮(一个播放图标),或者使用快捷键Shift + F5,你可以在底部的 "TERMINAL" 面板中看到输出。
-
PyCharm:
- 安装: 下载并安装 PyCharm Community Edition (免费版)。
- 运行: 打开你的项目,在代码编辑器中右键点击,选择 "Run 'your_script_name'",或者使用快捷键
Shift + F10,输出会显示在底部的 "Run" 窗口中。
-
Spyder:
- 安装: 通常随 Anaconda 发行版一起安装。
- 运行: 打开
.py文件后,点击工具栏上的 "Run" 按钮(一个播放图标),或者按F5,输出会显示在右下角的 "Console" 中。
优点:
- 集成度高:编写、运行、调试一站式完成。
- 调试方便:可以设置断点、查看变量值、单步执行代码。
- 智能提示:代码补全、语法检查等,大大提高编码效率。
在交互式解释器中运行(适合测试和实验)
这种方法不是运行一个完整的脚本文件,而是直接在命令行中输入并执行 Python 代码。
步骤:
- 打开终端/命令行。
- 输入
python或python3并回车,你会看到>>>提示符。 - 直接输入 Python 代码并按回车执行。
$ python
Python 3.9.7 (default, Sep 16 2025, 16:59:28)
[Clang 12.0.0 (clang-1200.0.32.29)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello from the interpreter!")
Hello from the interpreter!
>>> a = 10
>>> b = 20
>>> a + b
30
>>> exit()
$
输入 exit() 或按 Ctrl+D (macOS/Linux) / Ctrl+Z (Windows) 可以退出解释器。
优点:
- 快速测试:可以立即看到一小段代码的执行结果,非常适合测试函数、数据类型或算法。
- 学习利器:对于初学者来说,是学习 Python 语法的绝佳方式。
缺点:
- 不适合长代码:代码无法保存,不适合编写复杂的程序。
作为模块运行
当你想运行一个脚本,但同时希望它的代码(比如定义的函数)可以被另一个脚本导入时,可以使用这种方法。
原理:
在 Python 中,有一个特殊的内置变量 __name__。
- 当一个脚本直接运行时,
__name__的值是'__main__'。 - 当一个脚本被其他脚本导入时,
__name__的值是该脚本的文件名。
示例:
-
创建一个名为
my_module.py的文件,里面包含一个函数和一些测试代码。# my_module.py def greet(name): return f"Hello, {name}!" # 这部分代码只有在 my_module.py 被直接运行时才会执行 if __name__ == "__main__": print("This script is being run directly.") user = "Bob" message = greet(user) print(message) -
在终端中直接运行它:
$ python my_module.py This script is being run directly. Hello, Bob!
if __name__ == "__main__":代码块被执行了。 -
创建另一个脚本
main_app.py来导入my_module。# main_app.py import my_module # 当 my_module 被导入时,它的 __name__ 是 'my_module',不是 '__main__' # my_module.py 中的 if 代码块不会被执行 print("Running main_app.py...") name = "Alice" welcome_msg = my_module.greet(name) # 调用导入的模块中的函数 print(welcome_msg) -
运行
main_app.py:$ python main_app.py Running main_app.py... Hello, Alice!
你会发现,
my_module.py中的print("This script is being run directly.")这行代码没有输出,这就是if __name__ == "__main__":的作用,它让代码既可以直接运行,也可以作为模块被安全地导入。
总结与选择
| 方法 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
python 命令 |
日常 |
