我有一組標誌(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