2012-01-17 15 views
11

मैं क्लाइंट-सर्वर एप्लिकेशन विकसित करता हूं और मैंने सर्वर में लॉग इन किया है, इसलिए मैं लॉगिंग मॉड्यूल का उपयोग करता हूं। मैं फ़ाइल को साफ़ करने के लिए सर्वर में एक कमांड बनाना चाहता हूं।पायथन: एक लॉग फ़ाइल साफ़ करें

मैंने os.remove() के साथ परीक्षण किया है लेकिन बाद में, लॉग काम नहीं करता है।

क्या आपके पास कोई विचार है?

धन्यवाद।

+0

क्या यह लॉग एक डेमॉन प्रक्रिया द्वारा लिखी जा रही है? आपको उस डिमन को सिग्नल करना होगा कि लॉग फ़ाइल हटा दी गई है, इसलिए यह लॉग फ़ाइल हैंडल को बंद/दोबारा खोल सकता है और नई लॉग फ़ाइल का उपयोग शुरू कर सकता है। अन्यथा यह केवल पुराने व्यक्ति को लिखना जारी रखेगा, जो तब भी मौजूद रहेगा जब तक कि उस पर सभी फाइलहैंड बंद न हों। –

+1

'मोड = "डब्ल्यू" 'को' लॉगिंग.फाइलहैंडलर'] दें (https://docs.python.org/2/library/logging.handlers.html#filehandler)। –

उत्तर

27

फ़ाइल को हटाने के बजाय फ़ाइल को छोटा करना बेहतर हो सकता है।

with open('yourlog.log', 'w'): 
    pass 
+0

Thaks, यह बहुत अच्छा काम करता है! – Guillaume

3

इस

>>> with open("gre.txt", "w") as file: 
... file.truncate() 
... 
>>> 

अद्यतन का प्रयास करें::

file.truncate() आवश्यक नहीं है सबसे आसान समाधान अपने समाशोधन समारोह से लिखने के लिए फ़ाइल को फिर से खोलने और बंद करने के लिए है। आप बस pass

+1

तो आप मूल रूप से न्यूटोवर के उत्तर को डुप्लिकेट करते हैं – Purefan

संबंधित मुद्दे