📅  最后修改于: 2023-12-03 15:28:23.316000             🧑  作者: Mango
在使用 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.argv
和 argparse
时,必须小心处理参数,以避免安全问题和错误的使用。需要考虑参数的类型、范围、有效性和顺序等方面,以确保脚本的正确性和可靠性。
以上就是通过 cmd 传递 python 参数的基础知识介绍。