亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

logging.debug() 正在打印與常規 print() 不同的東西

logging.debug() 正在打印與常規 print() 不同的東西

大話西游666 2021-08-24 14:56:52
我編寫了一個代碼來查找階乘,我使用了日志記錄模塊。搜索該網站后,我還沒有找到相關問題。這是我的代碼def factorial(n):    logging.basicConfig(level=logging.DEBUG,format='%(asctime)s-%(levelname)s-%(message)s')    logging.debug('Start of program')    logging.debug('start of action (%s)'%(n))    total=1    for i in range(1,n+1):        #print(i)        total *=i        print(total)        logging.debug('i is '+str(i)+' total='+str(total))    logging.debug('End of factorial(%s) '%(n))    return totaldef main():    print(factorial(5))    logging.debug('End of program')if __name__=='__main__':    import logging    main()total 的輸出不是“它應該是什么”logging.debug('i is '+str(i)+' total='+str(total))這是我運行代碼時得到的2018-11-21 09:34:56,213-DEBUG-Start of program2018-11-21 09:34:56,213-DEBUG-start of action (5)12018-11-21 09:34:56,213-DEBUG-i is 1 total=122018-11-21 09:34:56,213-DEBUG-i is 2 total=262018-11-21 09:34:56,213-DEBUG-i is 3 total=6242018-11-21 09:34:56,213-DEBUG-i is 4 total=241202018-11-21 09:34:56,213-DEBUG-i is 5 total=1202018-11-21 09:34:56,213-DEBUG-End of factorial(5) 1202018-11-21 09:34:56,213-DEBUG-End of program這個問題看起來很長,但它應該是非常簡單的操作。
查看完整描述

1 回答

?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

這是一個猜測,但看起來您的打印中存在競爭條件。我實際上認為日志記錄需要這種情況,但要檢查您可以嘗試以下操作:刪除打印語句并運行程序。如果程序正確刪除調試并返回打印再次檢查。

可能的(顯然)競爭條件是,雖然 logging.debug 沒有完成打印整行,但您的代碼現在執行了打印語句。這就是為什么你有空行。


查看完整回答
反對 回復 2021-08-24
  • 1 回答
  • 0 關注
  • 229 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號