我有一组标志(4标志),它们控制我的python脚本生成的输出的性质,以及控制脚本向终端输出多少信息的标志(方式一般是verbose
标志)。这些标志被多个函数使用。标志的值由可选的命令行参数设置,我使用解析。在Python中使用命令行参数标志的正确方法
目前我在全局范围内使用这些标志之外的任何使用标志的函数,而不是将标志作为参数传递给函数。像这样:
import argparse
flag1=True
flag2=True
flag3=True
def fun1():
...
if flag1:
..something..
else:
..something else..
#fun1 also uses the other flags in a similar way
...
def fun2():
...
if flag2:
..something..
else:
..something else..
#fun1 also uses the other flags in a similar way
...
def main()
...
args=parser.parse_args()
...
global flag1
flag1=args.flag1
# and so on for the other flags
fun1()
fun2()
我已经导致相信它是不好的做法,使用全局变量在python许多问题的答案在这里(this,例如)。这也适用于这里吗?我有点不情愿将标志作为参数传递,因为我将传递太多变量作为参数。
处理由命令行参数设置的标志的最佳方法是什么?
你可以做高清FUN1(参数) – xfx
你可以简单地传递ARGS作为参数,只用一个来完成。 – Srgrn
谢谢!会这样做!应该有这个想法。 – Slothworks