📜  通过 cmd 传递 python 参数 - Python (1)

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

通过 cmd 传递 python 参数 - Python

在使用 Python 编写命令行工具或脚本时,经常需要从终端传递参数。Python 为此提供了 sys.argv 列表,其中包含执行程序时传递的所有参数。例如,假设我们编写了一个脚本 script.py

import sys

print(sys.argv)

如果我们在命令行中执行以下命令:

python script.py foo bar baz

则输出将是一个列表,其中第一个元素是脚本的名称,其余元素是传递的参数:

['script.py', 'foo', 'bar', 'baz']

在这个例子中,我们传递了三个参数 'foo''bar''baz' 给脚本。

除了使用 sys.argv 外,Python 还提供了 argparse 模块来处理命令行参数。argparse 允许定义所需的参数和选项,并自动生成帮助文档。下面是一个例子:

import argparse

parser = argparse.ArgumentParser(description='An example of argparse usage')

parser.add_argument('input', help='Input file')
parser.add_argument('-o', '--output', help='Output file')

args = parser.parse_args()

print(args.input)
print(args.output)

在这个例子中,我们定义了一个位置参数 'input' 和一个可选参数 -o/--output。当我们执行脚本时,可以如下传递参数:

python script.py input.txt -o output.txt

其中,'input.txt' 是位置参数,'-o''output.txt' 是可选参数。

argparse 还支持更复杂的参数类型,如子命令、互斥选项等。

在使用 sys.argvargparse 时,必须小心处理参数,以避免安全问题和错误的使用。需要考虑参数的类型、范围、有效性和顺序等方面,以确保脚本的正确性和可靠性。

以上就是通过 cmd 传递 python 参数的基础知识介绍。