2010-01-06 16 views
5

के साथ शुरू मैं मैं हटाना चाहते हैं कुछ फ़ाइलें है, वे शुरू में एक ही नाम है, लेकिन विभिन्न संस्करण संख्याओं की है। क्या किसी को पता है कि उनके नाम की शुरुआत का उपयोग करके फ़ाइलों को कैसे हटाया जाए?हटाया जा रहा है फ़ाइलें जो एक नाम अजगर

Eg. 
version_1.1 
version_1.2 

क्या नाम संस्करण के साथ शुरू होने वाली किसी भी फ़ाइल को डिलीट करने का कोई तरीका है?

धन्यवाद

+0

तो आप 'version_1 से मेल खाने वाली फ़ाइलों को हटाना चाहते हैं। *'? –

उत्तर

13
import os, glob 
for filename in glob.glob("mypath/version*"): 
    os.remove(filename) 

स्थानापन्न mypath के लिए: बस संदर्भ के लिए , यह कैसे पर्ल में यह करने के लिए है। और सुनिश्चित करें कि आप पथ गलत :) अगर एक फ़ाइल उपयोग में है

यह एक अपवाद बढ़ा देंगे नहीं मिलता है बनाते हैं।

+2

अपवाद केवल विंडोज़ पर उठाया गया है। फाइलों को हटाने से इकाइयों पर थोड़ा अलग काम होता है। – gnud

3

किस भाषा में?

बैश में (लिनक्स/यूनिक्स) आप इस्तेमाल कर सकते हैं:

rm version* 

या बैच में (विंडोज/डीओएस) आप इस्तेमाल कर सकते हैं:

del version* 

आप ऐसा करने के कुछ लिखना चाहते हैं पायथन में यह काफी आसान होगा - नियमित अभिव्यक्तियों के लिए प्रलेखन को देखें।

संपादित करें: (या . (= वर्तमान निर्देशिका)) सही पथ

opendir (folder, "./") || die ("Cannot open directory!"); 
@files = readdir (folder); 
closedir (folder); 

unlink foreach (grep /^version/, @files); 
4

यदि आप वास्तव में पायथन का उपयोग करना चाहते हैं, तो आप केवल os.listdir() के संयोजन का उपयोग कर सकते हैं, जो किसी निश्चित निर्देशिका में सभी फ़ाइलों की एक सूची देता है, और os.remove()

यानी .:

my_dir = # enter the dir name 
for fname in os.listdir(my_dir): 
    if fname.startswith("version"): 
     os.remove(os.path.join(my_dir, fname)) 

लेकिन, जैसा कि अन्य उत्तर ने कहा, क्या तुम सच में इस के लिए अजगर का उपयोग करने की जरूरत नहीं है, खोल शायद मूल रूप से इस तरह के एक आपरेशन का समर्थन करता है।

+0

यह बहुत अच्छा है जब बहुत सारी फाइलें नहीं हैं! –

1
import os 
os.chdir("/home/path") 
for file in os.listdir("."): 
    if os.path.isfile(file) and file.startswith("version"): 
     try: 
       os.remove(file) 
     except Exception,e: 
       print e 
संबंधित मुद्दे