杰瑞科技汇

如何在Python中运行另一个Python脚本?

使用 python 命令

这是最直接、最通用的方法,你需要通过命令行终端来执行。

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

步骤 1: 准备一个 Python 脚本

创建一个 Python 文件,假设你创建了一个名为 hello.py 的文件,内容如下:

# hello.py
print("你好,世界!")
print("我的第一个 Python 脚本正在运行。")
# 定义一个函数
def greet(name):
    return f"你好, {name}!"
# 调用函数
message = greet("Python")
print(message)

将这个文件保存在你的电脑上,比如保存在 C:\Users\YourUser\Documents\Python 目录下(Windows)或者 /home/youruser/Documents/Python 目录下(Linux/macOS)。

步骤 2: 打开命令行终端

你需要打开一个终端窗口:

  • Windows: 按 Win + R,输入 cmdpowershell,然后按回车。
  • macOS: 打开“启动台”,搜索“终端”(Terminal)。
  • Linux: 按 Ctrl + Alt + T,或者从应用程序菜单中打开终端。

步骤 3: 导航到脚本所在目录

在终端中,你需要先进入你保存 hello.py 文件的目录,使用 cd (change directory) 命令。

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

假设你的文件在 C:\Users\YourUser\Documents\Python

# Windows 示例
cd C:\Users\YourUser\Documents\Python

假设你的文件在 /home/youruser/Documents/Python

# Linux/macOS 示例
cd /home/youruser/Documents/Python

提示: 你可以使用 dir (Windows) 或 ls (Linux/macOS) 命令来查看当前目录下的文件,确保 hello.py 在其中。

# 查看文件列表
ls  # Linux/macOS
# 或
dir # Windows

步骤 4: 运行脚本

你已经身处正确的目录下,使用 python 命令来运行你的脚本。

python hello.py

注意: 在某些系统上(特别是较新的 macOS 或 Linux),你可能需要使用 python3 来明确指定使用 Python 3.x 版本:

python3 hello.py

预期输出

当你按下回车后,终端会显示脚本的输出:

你好,世界!
我的第一个 Python 脚本正在运行。
你好, Python!

进阶技巧和常见场景

指定 Python 解释器路径

如果你的系统中有多个 Python 版本(Python 2.7 和 Python 3.9),或者 Python 没有被添加到系统的环境变量中,你可以直接指定 Python 解释器的完整路径。

  • 在 Windows 上: Python 通常安装在 C:\Users\YourUser\AppData\Local\Programs\Python\Python39\python.exe 这样的路径,你可以使用它:

    C:\Users\YourUser\AppData\Local\Programs\Python\Python39\python.exe hello.py
  • 在 Linux/macOS 上: Python 通常安装在 /usr/bin/python3/usr/local/bin/python3

    /usr/bin/python3 hello.py

在脚本内部指定解释器 (Shebang)

这是一个非常好的实践,尤其是在 Linux/macOS 系统中,它允许你直接运行脚本,而无需输入 python 命令。

  1. 修改 hello.py 文件,在第一行添加 #!/usr/bin/env python3

    #!/usr/bin/env python3
    print("你好,世界!")
    # ... (其余代码不变)
  2. 给脚本添加可执行权限,在终端中,运行:

    chmod +x hello.py
  3. 直接运行脚本: 只要你在 hello.py 所在的目录,就可以直接运行它了:

    ./hello.py

    表示“在当前目录下”。

向脚本传递参数

你的 Python 脚本可以接收来自命令行的参数,这通过 sys 模块或 argparse 模块实现。

使用 sys 模块(简单)

修改 hello.py

# hello.py
import sys
# sys.argv 是一个列表,包含了所有的命令行参数
# 第一个参数 (sys.argv[0]) 总是脚本本身的名称
if len(sys.argv) > 1:
    name = sys.argv[1]
    print(f"你好, {name}!")
else:
    print("你好,世界!")
    print("请提供一个名字作为参数, python hello.py Alice")

运行方式:

# 不带参数
python hello.py
# 输出:
# 你好,世界!
# 请提供一个名字作为参数, python hello.py Alice
# 带参数
python hello.py Alice
# 输出:
# 你好, Alice!

使用 argparse 模块(更强大、推荐)

argparse 可以帮你处理更复杂的参数,比如可选参数、帮助信息等。

修改 hello.py

# hello.py
import argparse
# 创建一个解析器对象
parser = argparse.ArgumentParser(description="这是一个简单的问候脚本。")
# 添加一个位置参数 (positional argument)
parser.add_argument("name", help="要问候的名字")
# 添加一个可选参数 (optional argument)
parser.add_argument("-v", "--verbose", action="store_true", help="提供更详细的输出")
# 解析参数
args = parser.parse_args()
if args.verbose:
    print("正在执行详细的问候...")
    print(f"你好, {args.name}! 感谢你使用这个脚本。")
else:
    print(f"你好, {args.name}!")

运行方式:

# 显示帮助信息
python hello.py -h
# 输出:
# usage: hello.py [-h] [-v] name
# 这是一个简单的问候脚本。
# positional arguments:
#   name                要问候的名字
# options:
#   -h, --help          show this help message and exit
#   -v, --verbose       提供更详细的输出
# 普通运行
python hello.py Bob
# 输出:
# 你好, Bob!
# 详细运行
python hello.py -v Charlie
# 输出:
# 正在执行详细的问候...
# 你好, Charlie! 感谢你使用这个脚本。

在 IDE 中运行脚本

PyCharm, VS Code, Spyder 这样的集成开发环境让运行脚本变得非常简单:

  1. 打开你的 Python 项目。
  2. 在编辑器中打开 hello.py 文件。
  3. 点击编辑器旁边的“运行”按钮(通常是一个绿色的三角形 ▶️)。
  4. IDE 会在其内置的终端或输出窗口中直接显示结果。

常见问题排查

  • 'python' is not recognized as an internal or external command... (Windows)

    • 原因: Python 的安装路径没有被添加到系统的 PATH 环境变量中。
    • 解决: 重新运行 Python 安装程序,在安装选项中勾选 "Add Python to PATH",或者手动将 Python 的安装路径(C:\Python39\)添加到系统环境变量中。
  • python3: command not found (Linux/macOS)

    • 原因: 可能你安装的是 Python 2,或者 Python 3 的路径不在 PATH 中。
    • 解决: 使用 which python3 查找 python3 的位置,如果找不到,说明需要先安装 Python 3(例如使用 sudo apt-get install python3brew install python3)。
  • SyntaxError: invalid syntax

    • 原因: 脚本中有语法错误,比如缩进错误、缺少冒号、拼写错误等。
    • 解决: 仔细检查脚本代码,特别是 Python 对缩进非常敏感。
场景 命令 说明
基本运行 python script.pypython3 script.py 最常用的方法,在终端中运行。
指定解释器 /path/to/python script.py 当系统有多个 Python 版本时使用。
直接运行 ./script.py 需要在脚本第一行添加 #!/usr/bin/env python3 并使用 chmod +x 添加权限。
传递参数 python script.py arg1 arg2 在脚本中使用 sys.argvargparse 模块接收参数。
IDE运行 点击 IDE 的 "Run" 按钮 图形化操作,方便调试和开发。

希望这份详细的指南能帮助你顺利地在 Python 中运行脚本!

分享:
扫描分享到社交APP
上一篇
下一篇