我是Python新手。我使用Python模式的Vim編輯和測試我的代碼,並注意到如果我多次運行相同的代碼,日誌文件只會在第一次運行代碼時更新。例如下面是一個名爲「testlogging.py」一段代碼重置Python日誌解釋器
#!/usr/bin/python2.7
import os.path
import logging
filename_logging = os.path.join(os.path.dirname(__file__), "testlogging.log")
logging.basicConfig(filename=filename_logging, filemode='w',
level=logging.DEBUG)
logging.info('Aye')
如果我打開一個新的會話GVIM並運行該代碼與Python模式,那麼我會得到一個名爲「testlogging.log」與內容
INFO:root:Aye
看起來很有前途!但是,如果我刪除日誌文件並再次以pythong模式運行代碼,那麼日誌文件將不會被重新創建。如果此時我在這樣的終端中運行代碼
./testlogging.py
然後再次生成日誌文件!
我用Python文檔檢查,發現在日誌教程(https://docs.python.org/2.7/howto/logging.html#logging-to-a-file)這一行:
很常見的情況是,在一個文件中記錄的日誌記錄事件,所以讓我們來看看,明年。一定要嘗試以下在一個新開始的Python解釋器,並不只是從上述會話繼續:...
所以我想這個問題只記錄文件只更新一次有事情要做當我第二次運行代碼時,python模式保留在同一個解釋器中。所以我的問題是:有沒有辦法解決這個問題,通過擺弄日誌模塊,在代碼中放置一些東西來重置解釋器,或者通過告訴Python模式來重置它?
我也很好奇,爲什麼日誌模塊需要一個新開始翻譯工作...
感謝您的幫助提前。
謝謝你的回答。但我的問題是,如果我在Python模式下第二次運行相同的代碼,日誌記錄不起作用並生成日誌文件;我的問題不是我想追加到日誌文件。我希望在第二次運行中看到相同的內容,但日誌文件根本不存在! – 2014-09-21 11:20:41