2012-10-16 4 views
5

में एकाधिक फ़ाइलों को खोलना मेरे प्रोग्राम को चलाने के लिए पाइथन प्रोग्रामिंग भाषा में एक ही समय में कई फाइलें कैसे खोल सकता हूं? आप मूल रूप से फ़ाइल वस्तुओं बना रहे हैं फ़ाइलों तक पहुँच पाने के लिएपायथन

f=open("Exemplo_1.txt","rU") 
+1

क्या समस्या आप एक से अधिक खोलने के साथ सामना कर रहे हैं फाइलें, अगर आप उनमें से एक खोल सकते हैं? –

उत्तर

3
f1=open("Exemplo_1.txt","rU"); 
f2=open("Exemplo_2.txt","rU"); 
... 
f15=open("Exemplo_15.txt","rU"); 

:

मैं लगभग 15 फ़ाइलें, बस अब मैं उनमें से एक नीचे की तरह साथ काम किया है।

+0

यदि उन्हें समानांतर में खोले जाने की आवश्यकता नहीं है, तो मैं '(ओपन ("Exemplo_1.txt", "आरयू")) का उपयोग करने की अनुशंसा करता हूं क्योंकि f1: 'इसके बजाय - कीवर्ड के साथ कीवर्ड ठीक से साफ हो जाता है एक अपवाद। – thegrinner

+5

कोई मौका है कि हम आपको अर्धविरामों को हटाने के लिए मना सकते हैं ;-) – mgilson

+3

पंद्रह खुली फाइलों के लिए पंद्रह अलग-अलग नामों का उपयोग अव्यवहारिक लगता है .. जब तक कि प्रत्येक का अलग-अलग व्यवहार नहीं किया जाता है, उन्हें किसी भी तरह से कुछ भी करने योग्य होने की आवश्यकता होगी बहुत सारे कोड डुप्लिकेशन से बचें। मुझे लगता है कि उन्हें शायद एक सूची या एक निर्देश में रखना बेहतर विचार है। – DSM

3

मैं इस तरह कुछ करना चाहते हैं:

try: 
    f = [open("Exemplo_%d.txt" % i, "rU") for i in range(1, 16)] 
    # do stuff 
finally: 
    for fh in f: 
     fh.close() 

try/finally देखें।

+0

यह मेरे लिए एक आकर्षण की तरह काम किया। मैं सिर्फ वाक्यविन्यास को समझना चाहता हूं। % d और% i भाग ... –

+0

मुझे यह बहुत उपयोगी मिला। मुझे 1000 फाइलें खोलने और प्रत्येक को एक बड़े डेटासेट का एक यादृच्छिक नमूना लिखने की जरूरत थी। मेमोरी में फ़िट होने के लिए बड़ा डेटासेट बहुत बड़ा है। – denson

1

अगर आप एक शॉट में एकाधिक फ़ाइलों से अधिक पाश की जरूरत है, fileinput मॉड्यूल

for x in fileinput.input(['patterns.in', 'logfile.txt']): 
    print x 
5

आप glob का एक संयोजन और इस्तेमाल कर सकते हैं का उपयोग fileinput

import fileinput 
from glob import glob 

fnames = glob('Exemplo_*.txt') 
for line in fileinput.input(fnames): 
    pass # do whatever