杰瑞科技汇

Python3如何执行Python脚本?

使用 python3 命令

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

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

准备一个 Python 脚本

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

# hello.py
import sys
import time
print("Hello, Python 3!")
print(f"Python 版本: {sys.version}")
print("脚本开始执行...")
for i in range(5):
    print(f"计数: {i}")
    time.sleep(1)
print("脚本执行完毕。")

打开终端(命令行)

  • Windows: 打开 "命令提示符" (CMD) 或 "PowerShell"。
  • Linux / macOS: 打开 "终端" (Terminal)。

执行脚本

在终端中,你需要先 cd (change directory) 到你的脚本所在的目录,然后使用 python3 命令来运行它。

# 1. 切换到脚本所在的目录 (请替换为你的实际路径)
# 如果你的脚本在桌面,你可以使用:
cd ~/Desktop
# 或者
cd C:\Users\YourUsername\Desktop
# 2. 使用 python3 命令执行脚本
python3 hello.py

执行结果:

Hello, Python 3!
Python 版本: 3.9.7 (default, Sep 16 2025, 16:59:28) 
[Clang 12.0.0 (clang-1200.0.32.29)]
脚本开始执行...
计数: 0
计数: 1
计数: 2
计数: 3
计数: 4
脚本执行完毕。

进阶技巧和常用选项

python3 命令本身还支持一些有用的选项,可以让你更灵活地执行脚本。

Python3如何执行Python脚本?-图2
(图片来源网络,侵删)

直接执行脚本(无需 python3 前缀)

如果你不想每次都输入 python3,可以给你的脚本文件添加一个 "shebang" (解释器指令),这在 Linux 和 macOS 中尤其有用。

步骤:

  1. hello.py 文件的第一行添加 #!/usr/bin/env python3

    #!/usr/bin/env python3
    import sys
    import time
    print("Hello, Python 3!")
    # ... (其余代码不变)
    • #!/usr/bin/env python3 这行告诉系统去寻找环境变量 PATH 中的 python3 解释器来执行这个文件。
  2. 给脚本文件添加可执行权限(Linux/macOS)。

    Python3如何执行Python脚本?-图3
    (图片来源网络,侵删)
    chmod +x hello.py
  3. 只要你的终端在脚本所在的目录,你就可以直接运行它了。

    ./hello.py

    表示“在当前目录下”。

注意:在 Windows 中,这个 shebang 会被忽略,你仍然需要使用 python3 hello.py

将输出重定向到文件

你可能想把脚本的执行结果保存到一个文件中,而不是直接显示在终端,可以使用 >>> 操作符。

  • >:将输出写入文件,如果文件已存在,则覆盖。
  • >>:将输出追加到文件末尾,如果文件不存在,则创建。
# 覆盖写入 output.txt
python3 hello.py > output.txt
# 追加写入 output.txt
python3 hello.py >> output.txt

执行后,你可以用 cat output.txt (Linux/macOS) 或 type output.txt (Windows) 查看文件内容。

从标准输入获取数据

你的脚本可以设计成从标准输入(通常是键盘输入)读取数据。

示例脚本 read_input.py:

# read_input.py
print("请输入一些文本,按 Ctrl+D (Linux/macOS) 或 Ctrl+Z (Windows) 结束:")
# input() 函数会读取一行输入
user_input = input()
print(f"你输入的是: {user_input}")

执行方式:

# 在终端中运行脚本,然后直接输入内容
python3 read_input.py

将文件作为输入源

你也可以使用输入重定向 <,将一个文件的内容作为脚本的输入。

创建一个输入文件 input.txt:

This is a test.

执行脚本:

python3 read_input.py < input.txt

执行结果:

请输入一些文本,按 Ctrl+D (Linux/macOS) 或 Ctrl+Z (Windows) 结束:
你输入的是: This is a test.

传递命令行参数给脚本

你的脚本可以通过 sys.argv 来接收从命令行传递的参数。

示例脚本 args.py:

# args.py
import sys
# sys.argv 是一个列表,包含了所有的命令行参数
# 第一个元素 (sys.argv[0]) 总是脚本本身的名称
print(f"参数的总数量: {len(sys.argv)}")
for i, arg in enumerate(sys.argv):
    print(f"参数 {i}: {arg}")

执行方式:

python3 args.py apple banana cherry

执行结果:

参数的总数量: 4
参数 0: args.py
参数 1: apple
参数 2: banana
参数 3: cherry

使用 -c 选项执行单行代码

如果你只想快速执行一小段 Python 代码,而不需要创建一个文件,可以使用 -c 选项。

# 打印 "Hello from command line"
python3 -c "print('Hello from command line')"
# 进行一些计算
python3 -c "import math; print(f'2的10次方是: {math.pow(2, 10)}')"

使用 -m 选项以模块方式运行

这个选项非常有用,它允许你像运行一个模块一样运行一个脚本,这对于运行标准库中的模块(如 pip, http.server)或者你自己的包中的脚本特别有效。

假设你有一个项目结构如下:

my_project/
├── __init__.py
└── my_module.py

my_module.py 的内容:

# my_module.py
def main():
    print("This is the main function of my_module!")
if __name__ == "__main__":
    main()

执行方式:

# 进入 my_project 的父目录
cd ..
# 使用 -m 运行模块
python3 -m my_project.my_module

执行结果:

This is the main function of my_module!

使用 -m 可以确保 Python 的模块搜索路径 (sys.path) 是正确的,这对于复杂的项目结构至关重要。


Windows 用户的特别说明

在 Windows 上,你可能遇到以下情况:

  1. python3 命令不可用:默认情况下,Python 安装程序可能只将 python 添加到环境变量。python 指向的是 Python 2,你需要确保 python 指向 Python 3,或者,你可以使用完整的可执行文件名,py -3 (推荐) 或 C:\Python39\python.exe

    # 使用 py.exe (Python 启动器),它会自动选择正确的 Python 版本
    py -3 hello.py
    # 或者使用完整的路径
    C:\Python39\python.exe hello.py
  2. 文件路径问题:Windows 使用反斜杠 \ 作为路径分隔符,但在字符串中它是一个转义字符,为了避免麻烦,建议使用正斜杠 ,或者在路径前加上 r (raw string)。

    # 推荐使用正斜杠
    cd C:/Users/YourUsername/Desktop
    # 或者使用原始字符串
    cd r"C:\Users\YourUsername\Desktop"
场景 命令 说明
基本执行 python3 script.py 最常用的方法,在所有平台上都有效。
直接执行 ./script.py 需要添加 shebang (#!/usr/bin/env python3) 和可执行权限,适用于 Linux/macOS。
输出重定向 python3 script.py > file.txt 将脚本输出保存到文件,会覆盖原文件。
追加输出 python3 script.py >> file.txt 将脚本输出追加到文件末尾。
输入重定向 python3 script.py < input.txt 作为脚本的输入。
传递参数 python3 script.py arg1 arg2 arg1, arg2 等参数传递给脚本,通过 sys.argv 获取。
执行单行代码 python3 -c "print('hello')" 直接在命令行执行一小段 Python 代码。
以模块方式运行 python3 -m my_package.my_script 运行一个模块或包中的脚本,是管理复杂项目的最佳实践。

掌握这些方法,你就可以在 Python 3 的世界里灵活自如地执行各种脚本了。

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