杰瑞科技汇

Python脚本如何在Python中运行?

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

Python脚本如何在Python中运行?-图1
(图片来源网络,侵删)

使用 python 命令(最常用)

这是最直接、最通用的方法,适用于所有操作系统(Windows, macOS, Linux)。

步骤:

  1. 打开终端/命令行

    • Windows: 打开 "命令提示符" (CMD) 或 "PowerShell"。
    • macOS / Linux: 打开 "终端" (Terminal)。
  2. 导航到脚本所在目录: 使用 cd (change directory) 命令进入你的 Python 脚本所在的文件夹。

    # 示例:如果你的脚本在 C:\Users\YourName\Documents\PythonProjects
    cd C:\Users\YourName\Documents\PythonProjects
  3. 运行脚本: 使用 python 命令,后面跟上你的脚本文件名。

    Python脚本如何在Python中运行?-图2
    (图片来源网络,侵删)
    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 文件)来运行它。

Python脚本如何在Python中运行?-图3
(图片来源网络,侵删)

如何工作:

  1. Windows 会查找与 .py 文件关联的程序,默认情况下,它会使用已安装的 Python 解释器来运行该脚本。
  2. 脚本会运行,但终端窗口(命令提示符)会立即关闭,除非脚本本身暂停等待用户输入(如上面的 input() 示例)。

优点:

  • 非常简单,只需双击。

缺点:

  • 窗口会瞬间关闭:如果脚本运行出错,你根本来不及看到错误信息,如果脚本没有 input(),执行完就关了,结果看不到。
  • 不适合调试和开发。

解决方案(创建批处理文件):

为了解决窗口关闭的问题,你可以创建一个简单的批处理文件(.bat)来运行你的脚本。

  1. 在与 hello.py 相同的目录下,创建一个新文本文件,命名为 run_hello.bat
  2. 用记事本打开 run_hello.bat,输入以下内容:
    @echo off
    python hello.py
    pause
    • @echo off:不显示命令本身。
    • python hello.py:运行你的脚本。
    • pause:这是关键!它会暂停批处理文件的执行,直到你按下任意键,这样终端窗口就不会立即关闭了。
  3. 双击 run_hello.bat 文件即可运行你的脚本,并在执行完毕后保持窗口打开。

在 IDE(集成开发环境)中运行

对于开发者来说,使用 IDE 是最高效、最方便的方式,IDE 不仅让你运行代码,还提供了代码编辑、调试、项目管理等一系列强大功能。

常见的 Python IDE:

  1. Visual Studio Code (VS Code):

    • 安装: 确保你安装了 Python 扩展
    • 运行: 打开你的 .py 文件,点击右上角的 "Run Python File" 按钮(一个播放图标),或者使用快捷键 Shift + F5,你可以在底部的 "TERMINAL" 面板中看到输出。
  2. PyCharm:

    • 安装: 下载并安装 PyCharm Community Edition (免费版)。
    • 运行: 打开你的项目,在代码编辑器中右键点击,选择 "Run 'your_script_name'",或者使用快捷键 Shift + F10,输出会显示在底部的 "Run" 窗口中。
  3. Spyder:

    • 安装: 通常随 Anaconda 发行版一起安装。
    • 运行: 打开 .py 文件后,点击工具栏上的 "Run" 按钮(一个播放图标),或者按 F5,输出会显示在右下角的 "Console" 中。

优点:

  • 集成度高:编写、运行、调试一站式完成。
  • 调试方便:可以设置断点、查看变量值、单步执行代码。
  • 智能提示:代码补全、语法检查等,大大提高编码效率。

在交互式解释器中运行(适合测试和实验)

这种方法不是运行一个完整的脚本文件,而是直接在命令行中输入并执行 Python 代码。

步骤:

  1. 打开终端/命令行。
  2. 输入 pythonpython3 并回车,你会看到 >>> 提示符。
  3. 直接输入 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__ 的值是该脚本的文件名

示例:

  1. 创建一个名为 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)
  2. 在终端中直接运行它:

    $ python my_module.py
    This script is being run directly.
    Hello, Bob!

    if __name__ == "__main__": 代码块被执行了。

  3. 创建另一个脚本 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)
  4. 运行 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 命令 日常
分享:
扫描分享到社交APP
上一篇
下一篇