在Python中设置参数化可以通过多种方式实现,以下是几种常见的方法:
1. 使用内置的`sys.argv`模块:
import sys
def main():
获取参数列表,注意sys.argv是脚本名称
args = sys.argv[1:]
参数个数
args_length = len(args)
print(f"排除运行主文件参数,其他参数列表为:{args}")
print(f"参数总数:{args_length}")
if __name__ == "__main__":
main()
使用命令行运行时,可以传入参数,例如:
python script.py arg1 arg2
2. 使用`argparse`模块:
import argparse
def main():
parser = argparse.ArgumentParser()
parser.add_argument('arg1', type=str)
parser.add_argument('arg2', type=str)
args = parser.parse_args()
print(f"参数1:{args.arg1}")
print(f"参数2:{args.arg2}")
if __name__ == "__main__":
main()
使用命令行运行时,可以传入参数,例如:
python script.py value1 value2
3. 使用`getopt`模块:
import getopt
def main(argv):
opt, args = getopt.getopt(argv, "a:b:")
for opt, arg in opt:
if opt == '-a':
print(f"参数a:{arg}")
elif opt == '-b':
print(f"参数b:{arg}")
if __name__ == "__main__":
main(sys.argv[1:])
使用命令行运行时,可以传入参数,例如:
python script.py -a value1 -b value2
4. 使用第三方库`click`:
import click
@click.command()
@click.argument('arg1')
@click.argument('arg2')
def main(arg1, arg2):
print(f"参数1:{arg1}")
print(f"参数2:{arg2}")
if __name__ == "__main__":
main()
使用命令行运行时,可以传入参数,例如:
python script.py value1 value2
以上是几种常见的参数化设置方法,您可以根据具体需求选择合适的方式。如果您需要更复杂的参数化设置,例如创建一系列函数,每个函数都基于一个“shift”参数移动输入,可以使用以下代码:
N = 5
fns = []
for idx in range(N):
def f(x):
return x + idx
fns.append(f)
使用函数
for fn in fns:
print(fn(10)) 结果将依次增加索引值
希望这些信息对您有所帮助,