मैं पाइथन को कमांड लाइन स्क्रिप्टिंग प्रतिस्थापन के रूप में उपयोग करना सीखना चाहता हूं। मैंने अतीत में अजगर के साथ कुछ समय बिताया लेकिन यह थोड़ी देर हो गया है। ऐसा लगता है कि यह इसके दायरे में है।पाइथन के माध्यम से किसी फ़ोल्डर में सभी फ़ाइलों में एक खोज-और-प्रतिस्थापन करें?
मेरे पास एक फ़ोल्डर में कई फ़ाइलें हैं जिन्हें मैं खोज-और-प्रतिस्थापन करना चाहता हूं, उन सभी के भीतर। मैं इसे एक अजगर लिपि के साथ करना चाहता हूं।
उदाहरण के लिए, "foo
" के सभी उदाहरणों को खोजें और बदलें "foobar
"।
इसके अलावा, यह डाल करने के लिए अच्छा हो सकता है यह सत्यापित करने के लिए एक छोटी सी जांच में कि 'tempfile' पहले से मौजूद नहीं है ... –
ऐसा लगता है। क्या temp फ़ाइल बनाने का कार्य बस इतना है कि यदि अनुमति पर्याप्त नहीं है, तो भी हम कार्रवाई कर सकते हैं? उस स्थिति में, निकालें और नाम या तो काम नहीं करेगा, सही? – fruit
tempfile यह सुनिश्चित करता है कि हम वास्तविक फ़ाइल को बहुत जल्दी ओवरराइट नहीं करते हैं और इसलिए कि हम बड़ी फ़ाइल पर बहुत सारी मेमोरी का उपयोग नहीं करते हैं (ऐसा करने का नाइव तरीका ऐसा कुछ होगा: 'data = open (file) .read(); डेटा = _replace_re.sub ("foobar", डेटा); खोलें (फ़ाइल, "डब्ल्यू")। लिखें (डेटा) ', लेकिन यह बहुत सारी मेमोरी का उपयोग करेगा और, यदि कंप्यूटर आधे रास्ते से दुर्घटनाग्रस्त हो गया है 'लिखना', आप अन-लिखित डेटा को खो देंगे) –