python 命令是 Python 编程语言的入口,它是一个非常强大和灵活的工具,你可以把它想象成一个“瑞士军刀”,能做的事情非常多。

下面我将从不同维度详细介绍 python 命令能做什么,从最基础的到一些进阶的用法。
核心功能:执行 Python 代码
这是 python 命令最基本、最核心的功能,你可以用它来运行已经写好的 Python 脚本,或者在交互式环境中直接输入代码。
运行 Python 脚本文件
这是最常见的用法,你将你的 Python 代码保存在一个以 .py 为扩展名的文件中,然后用 python 命令来执行它。
示例:
假设你有一个名为 hello.py 的文件,内容如下:

# hello.py
print("Hello, World!")
name = "Alice"
print(f"Welcome, {name}!")
在终端或命令行中,你可以这样运行它:
# python 是命令,hello.py 是要执行的文件 python hello.py
输出:
Hello, World!
Welcome, Alice!
启动交互式解释器 (REPL)
当你直接在命令行中输入 python 并回车,会进入一个交互式环境,也称为 REPL(Read-Eval-Print Loop,读取-求值-输出循环)。
在这个环境中,你可以逐行输入 Python 代码,它会立即执行并返回结果,这对于快速测试代码片段、调试或学习 Python 语法非常有用。

示例:
$ python
Python 3.9.7 (default, Sep 10 2025, 14:59:43)
[GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello from REPL!")
Hello from REPL!
>>> 2 + 3
5
>>> my_list = [1, 2, 3]
>>> my_list.append(4)
>>> my_list
[1, 2, 3, 4]
>>> exit()
$
输入 exit() 或按 Ctrl+D 可以退出交互式环境。
进阶功能:通过命令行参数增强脚本
python 命令还支持多种参数,这些参数可以极大地增强你脚本的灵活性和功能性。
执行指定代码片段 (-c)
如果你想快速执行一小段代码,但又不想创建一个 .py 文件,可以使用 -c 选项。
示例: 直接在命令行打印当前日期和时间:
python -c "import datetime; print('The current time is:', datetime.datetime.now())"
输出:
The current time is: 2025-10-27 10:30:00.123456
这在写 shell 脚本时特别有用,可以调用 Python 的强大功能。
检查语法 (-m py_compile)
在运行脚本前,你可以先检查它的语法是否正确,而不用真正执行它,这有助于快速发现语法错误。
示例:
检查 hello.py 的语法:
python -m py_compile hello.py
- 如果语法正确:命令会静默执行,没有输出。
- 如果语法错误:会抛出
SyntaxError并指出错误位置。
将脚本编译为字节码 (-B)
Python 在执行 .py 文件时,会先将其编译成字节码(.pyc 文件),以提高下次运行的启动速度,默认情况下,Python 会自动处理这些 .pyc 文件。
python -B your_script.py: 使用-B参数可以禁用生成.pyc文件,这在某些场景下有用,比如确保每次都从源码运行,或者清理构建产物。python -b: 以优化模式运行,会忽略.pyc文件,强制重新编译源码,这对于确保使用最新的源码进行调试很有帮助。
直接运行模块 (-m)
这是一个非常强大的功能!-m 参数允许你将一个模块当作脚本来运行,这意味着任何模块(只要它有 __main__.py 文件或者本身是可执行的)都可以直接通过命令行启动。
示例 1:运行标准库模块
Python 的 http.server 模块可以快速创建一个简单的 Web 服务器。
# 在终端 1 运行 # -m 表示把 http.server 当作一个模块来运行 # 8000 是端口号 python -m http.server 8000
你可以在浏览器中访问 http://localhost:8000 来查看当前目录下的文件列表。
示例 2:运行第三方库模块
很多第三方库也提供了命令行接口,pip。
# 这里的 pip 本身也是一个模块 python -m pip install --upgrade requests
这种方式比直接调用 pip 命令更可靠,因为它确保了你使用的是当前 Python 环境中的 pip。
指定 Python 解释器版本
如果你的电脑上同时安装了 Python 2 和 Python 3(或者多个 Python 3 版本),你可以使用 python3 命令来明确指定使用 Python 3。
示例:
# 使用 Python 3 运行脚本 python3 hello.py # 如果有多个 Python 3 版本,可以用 python3.9, python3.10 等 python3.9 hello.py
在 Linux 和 macOS 上,python 命令通常指向系统默认的 Python 2,而 python3 指向 Python 3,在 Windows 上,安装 Python 时通常会自动将 py 命令添加到环境变量,py -3 也可以用来指定 Python 3。
环境与脚本管理
使用虚拟环境
在项目开发中,为每个项目创建独立的虚拟环境是一个好习惯,可以避免不同项目之间的库版本冲突。
- 创建虚拟环境:
python -m venv myenv - 激活虚拟环境:
- Windows:
myenv\Scripts\activate - Linux/macOS:
source myenv/bin/activate
- Windows:
- 退出虚拟环境:
deactivate
激活后,你命令行前面的提示符通常会变成 (myenv) ...,此时你运行的 python 和 pip 命令都只对这个虚拟环境有效。
总结表格
| 命令/参数 | 功能描述 | 示例 |
|---|---|---|
python script.py |
核心功能:执行指定的 Python 脚本文件。 | python app.py |
python |
核心功能:启动交互式解释器 (REPL),用于交互式编程和测试。 | python (然后输入代码) |
python -c "..." |
执行一行或一段字符串形式的 Python 代码。 | python -c "print('Hi')" |
python -m module |
将一个模块作为脚本来运行。 | python -m http.server 8000 |
python -m py_compile file.py |
编译 Python 文件,仅检查语法,不执行。 | python -m py_compile main.py |
python -B script.py |
运行脚本时不生成 .pyc 字节码文件。 |
python -B server.py |
python3 |
在多版本 Python 环境中,明确指定使用 Python 3 解释器。 | python3 manage.py runserver |
python -m venv env_name |
创建一个新的虚拟环境。 | python -m venv project_env |
python 命令是 Python 世界的基石,无论是简单的脚本执行、复杂的模块调用,还是日常的开发调试,都离不开它,掌握这些不同的用法,能让你更高效地使用 Python。
