report.py蟒裝飾器未服用從恆定傳遞的值
if __name__ == "__main__":
parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter, description = "CHECK-ACCESS REPORTING.")
parser.add_argument('--input','-i', help='Filepath containing the Active Directory userlist')
parser.add_argument('--timestamp', '-t', nargs='?',const="BLANK", help='filepath with environement varible set')
args, unknownargs = parser.parse_known_args(sys.argv[1:])
timestampchecker(args.timestamp)
#checking the value of cons.DISPLAYRESULT is TRUE
main()
timestampchecker功能:
該功能檢查用戶是否已經設置了-t參數。如果設置了,我已經定義了一個叫做cons.DISPLAYRESULT的常量爲true。
該函數運行良好,並將常量值設置爲True。 但在主要功能我已經實現了這個裝飾它沒有采取真正的價值,但假
timer.py
def benchmarking(timestaus):
def wrapper(funct):
def timercheck(*args, **kwarg):
if timestaus is True:
starttime=time.time()
funct(*args, **kwarg)
if timestaus is True:
print('Time Taken:',round(time.time()-starttime, 4))
return timercheck
return wrapper
我裝飾了一些方法,在報告的main()方法.py與上面的裝飾器。例如,這是在report.py正在使用的類並且與上述裝飾飾
class NotAccountedReport:
def __init__(self, pluginoutputpath):
""" Path where the plugins result are stored need these files"""
self.pluginoutputpath = pluginoutputpath
@benchmarking(cons.DISPLAY_TIME_STAMP)
def makeNotAccountableReport():
#some functionality
這裏我已通過恆定值,其 時雖然稱爲前測試的參數裝飾被轉換爲True是採取虛假 ,因此裝修未實施。問題出在哪裏 找不出
這是一個無足輕重的問題,但也許我不理解你的最後一段。當你說「我已經將常數值傳遞給參數裝飾器」時,你的意思是'@benchmarking(const)'?那麼'const是True'和'bool(const)是True'將會有不同的結果。 –
我的意思是說我已經定義了常量,並且該值是裝飾器正在傳遞的值。只有當該值設置爲「True」時,裝飾器纔會運行。但是,發生了什麼是認爲常數值是真正的裝飾者正在加載,並採取'False'而不是 –