命令行运行Python程序是开发者日常工作中非常基础且重要的技能,它能够让我们更高效地管理项目、执行脚本以及调试代码,下面将详细介绍如何在命令行中运行Python程序,包括准备工作、不同场景下的操作方法、常见问题及解决方案等。

确保你的计算机已经安装了Python环境,可以通过在命令行中输入python --version
(Windows系统)或python3 --version
(macOS/Linux系统)来检查是否已安装Python以及其版本号,如果未安装,需前往Python官网(https://www.python.org/downloads/)下载对应系统的安装包进行安装,安装时建议勾选“Add Python to PATH”选项,以便在命令行中直接调用Python。
编写一个简单的Python程序,使用文本编辑器(如VS Code、Sublime Text或系统自带的记事本)创建一个名为hello.py
的文件,并在其中输入以下代码:
print("Hello, Command Line!")
保存文件后,打开命令行工具(Windows中为CMD或PowerShell,macOS/Linux中为Terminal),使用cd
命令切换到hello.py
文件所在的目录,
cd C:\Users\YourUsername\Desktop
在命令行中输入以下命令来运行该程序:

python hello.py
如果安装的是Python 3,且系统中同时存在Python 2,可能需要使用python3 hello.py
,程序运行后,命令行会输出Hello, Command Line!
。
在实际开发中,我们经常需要处理带参数的Python程序,此时可以使用sys
模块或argparse
模块来获取命令行参数,修改hello.py
如下:
import sys print("Hello,", sys.argv[1] + "!")
运行时可以通过以下方式传递参数:
python hello.py Alice
输出结果为Hello, Alice!
,如果需要更复杂的参数处理,推荐使用argparse
模块,它支持可选参数、参数类型检查等功能。

对于包含多个模块的项目,通常会将主程序放在一个特定的入口文件中(如main.py
),并通过命令行运行该文件,Python还支持通过-m
参数运行模块或包中的脚本,
python -m module_name
这种方式适用于执行标准库模块或第三方包中的脚本,如python -m pip install package_name
。
在运行Python程序时,可能会遇到一些常见问题,如果命令行提示“'python' 不是内部或外部命令,也不是可运行的程序或批处理文件”,通常是因为Python未添加到系统环境变量中,需手动将Python的安装路径添加到PATH变量中,如果程序运行时出现语法错误,可能是代码编写存在问题,需检查文件编码是否为UTF-8,并确保代码缩进正确。
为了更高效地管理项目,可以使用虚拟环境,通过venv
模块创建虚拟环境:
python -m venv myenv
激活虚拟环境后(Windows中运行myenv\Scripts\activate
,macOS/Linux中运行source myenv/bin/activate
),安装的包将仅在该环境中生效,避免不同项目间的依赖冲突。
以下是命令行运行Python程序的常见操作总结:
操作场景 | 命令示例 | 说明 |
---|---|---|
运行Python脚本 | python script.py |
执行当前目录下的Python文件 |
运行指定Python版本 | python3 script.py |
系统存在多个Python版本时使用 |
传递命令行参数 | python script.py arg1 arg2 |
向脚本传递位置参数 |
运行模块 | python -m module_name |
执行模块或包中的__main__.py |
进入交互式环境 | python 或 python3 |
启动Python解释器,可逐行执行代码 |
相关问答FAQs:
-
问:为什么运行Python脚本时提示“ModuleNotFoundError”?
答:通常是因为脚本中导入的模块未安装,可以通过pip install 模块名
安装所需模块,或检查模块名称是否拼写错误,确保模块已安装在当前Python环境中,若使用虚拟环境,需在激活环境后安装模块。 -
问:如何在命令行中查看Python脚本的执行时间?
答:可以使用time
命令结合Python脚本执行,例如在Linux/macOS中运行time python script.py
,系统会显示脚本的实际运行时间、用户CPU时间和系统CPU时间,在Windows中,可在CMD中使用python script.py && echo %time%
记录结束时间,或使用timeit
模块在代码中测量执行时间。