📜  从命令行运行 python 模块 - Python (1)

📅  最后修改于: 2023-12-03 15:21:56.668000             🧑  作者: Mango

从命令行运行 Python 模块 - Python

在 Python 中,我们可以通过命令行运行一个 Python 模块。这种方式可以方便我们在命令行下快速地执行 Python 代码,而不用打开 Python 解释器。本文将介绍如何从命令行运行 Python 模块。

准备工作

在执行前,我们需要安装好 Python。打开命令行,输入 python --version,如果返回 Python 的版本号,则说明 Python 已经正常安装。

$ python --version
Python 3.8.5
命令行运行 Python 模块

假设我们有一个 Python 模块 example.py,代码如下:

# example.py
def hello(name):
    print(f"hello {name}!")

我们可以使用以下命令从命令行运行该模块:

$ python example.py

如果该模块需要参数,则可以在命令行输入参数,例如:

$ python example.py Tom

输出结果:

hello Tom!
使用 argparse 处理命令行参数

如果我们需要处理复杂的命令行参数,则可以使用 Python 的标准库 argparse。例如,我们现在有一个 Python 模块 calc.py,代码如下:

# calc.py
import argparse

parser = argparse.ArgumentParser(description="Calculator")
parser.add_argument("x", type=int, help="First number")
parser.add_argument("y", type=int, help="Second number")
parser.add_argument("-o", "--operation",
                    choices=["add", "sub", "mul", "div"],
                    default="add",
                    help="Operation, default is add")

args = parser.parse_args()

if args.operation == "add":
    print(args.x + args.y)
elif args.operation == "sub":
    print(args.x - args.y)
elif args.operation == "mul":
    print(args.x * args.y)
elif args.operation == "div":
    try:
        print(args.x / args.y)
    except ZeroDivisionError:
        print("Cannot divide by zero")

上面的代码使用 argparse 处理了命令行参数。我们可以通过以下命令从命令行运行该模块:

$ python calc.py 10 5 -o div
2.0

输出结果如上所示。

总结

本文介绍了如何从命令行运行 Python 模块,并使用 argparse 处理了命令行参数。通过这种方式,我们可以方便地执行 Python 代码,提高我们的工作效率。