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

准备一个 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 前缀)
如果你不想每次都输入 python3,可以给你的脚本文件添加一个 "shebang" (解释器指令),这在 Linux 和 macOS 中尤其有用。
步骤:
-
在
hello.py文件的第一行添加#!/usr/bin/env python3。#!/usr/bin/env python3 import sys import time print("Hello, Python 3!") # ... (其余代码不变)#!/usr/bin/env python3这行告诉系统去寻找环境变量PATH中的python3解释器来执行这个文件。
-
给脚本文件添加可执行权限(Linux/macOS)。
(图片来源网络,侵删)chmod +x hello.py
-
只要你的终端在脚本所在的目录,你就可以直接运行它了。
./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 上,你可能遇到以下情况:
-
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
-
文件路径问题: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 的世界里灵活自如地执行各种脚本了。
