मैं इसके लिए एक प्रोग्राम लिखना चाहता हूं: एक फ़ोल्डर में मेरे पास n फ़ाइलों की संख्या है; पहले एक फ़ाइल पढ़ें और कुछ ऑपरेशन करें, फिर परिणाम को एक अलग फ़ाइल में स्टोर करें। फिर दूसरी फ़ाइल पढ़ें, फिर से ऑपरेशन करें और परिणाम को दूसरी दूसरी फ़ाइल में सहेजें। n फ़ाइलों की संख्या के लिए एक ही प्रक्रिया करें। कार्यक्रम सभी फ़ाइलों को एक-एक करके पढ़ता है और प्रत्येक फ़ाइल के परिणामों को अलग से स्टोर करता है। कृपया उदाहरण दें कि मैं इसे कैसे कर सकता हूं।एकाधिक फ़ाइलों को पढ़ने और लिखने के लिए कैसे?
उत्तर
import sys
# argv is your commandline arguments, argv[0] is your program name, so skip it
for n in sys.argv[1:]:
print(n) #print out the filename we are currently processing
input = open(n, "r")
output = open(n + ".out", "w")
# do some processing
input.close()
output.close()
फिर इसे पसंद फोन:
./foo.py bar.txt baz.txt
प्रिंट (एन) इसे पायथन 3 संगत बनाने के लिए। अभी भी कम से कम 2.4 के साथ काम करता है। – Bernard
मैं स्मृति से 2.3 चला रहा हूं, लेकिन सिर के लिए धन्यवाद। –
यह एक तर्क के लिए अधिक हो सकता है, लेकिन मैं कमांड लाइन पार्सिंग के लिए optparse मॉड्यूल की सिफारिश करता हूं। उद्धरणों को संभालने जैसे बदसूरत कार्यों की देखभाल करता है, आदि – monkut
आप fileinput
मॉड्यूल उपयोगी मिल सकता है। यह वास्तव में इस समस्या के लिए बनाया गया है।
मुझे लगता है कि आप जो याद करते हैं वह है कि उस निर्देशिका में सभी फ़ाइलों को कैसे पुनर्प्राप्त करें। ऐसा करने के लिए, ग्लोब मॉड्यूल का उपयोग करें।
import sys
import os.path
import glob
def processFile(filename):
fileHandle = open(filename, "r")
for line in fileHandle:
# do some processing
pass
fileHandle.close()
def outputResults(filename):
output_filemask = "out"
fileHandle = open("%s.%s" % (filename, output_filemask), "w")
# do some processing
fileHandle.write('processed\n')
fileHandle.close()
def processFiles(args):
input_filemask = "log"
directory = args[1]
if os.path.isdir(directory):
print "processing a directory"
list_of_files = glob.glob('%s/*.%s' % (directory, input_filemask))
else:
print "processing a list of files"
list_of_files = sys.argv[1:]
for file_name in list_of_files:
print file_name
processFile(file_name)
outputResults(file_name)
if __name__ == '__main__':
if (len(sys.argv) > 1):
processFiles(sys.argv)
else:
print 'usage message'
इस उदाहरण के साथ एक छोटा मुद्दा। अगर मेरे पास 'mytxtfile.txt' नामक फ़ाइल है तो क्या होगा? –
संयुक्त जवाब को शामिल निर्देशिका या फ़ाइल नाम तर्कों की विशिष्ट सूची .out विस्तार के साथ * फ़ाइलों को .txt एक्सटेंशन वाली सभी फाइलों * नकल जाएगा मैंने हाल ही में os.walk() कमांड के बारे में सीखा है, और यह आपकी मदद कर सकता है। यह आपको निर्देशिका वृक्ष संरचना को नीचे जाने की अनुमति देता है।
import os
OUTPUT_DIR = 'C:\\RESULTS'
for path, dirs, files in os.walk('.'):
for file in files:
read_f = open(os.join(path,file),'r')
write_f = open(os.path.join(OUTPUT_DIR,file))
# Do stuff
मैं: यहाँ एक उदाहरण है जो
import glob
list_of_files = glob.glob('./*.txt') # create the list of file
for file_name in list_of_files:
FI = open(file_name, 'r')
FO = open(file_name.replace('txt', 'out'), 'w')
for line in FI:
FO.write(line)
FI.close()
FO.close()
from pylab import *
import csv
import os
import glob
import re
x=[]
y=[]
f=open("one.txt",'w')
for infile in glob.glob(('*.csv')):
# print "" +infile
csv23=csv2rec(""+infile,'rb',delimiter=',')
for line in csv23:
x.append(line[1])
# print len(x)
for i in range(3000,8000):
y.append(x[i])
print ""+infile,"\t",mean(y)
print >>f,""+infile,"\t\t",mean(y)
del y[:len(y)]
del x[:len(x)]
- 1. बाइनरी फ़ाइलों को पढ़ने और लिखने के लिए फ़्रेड और फ़्राइट फ़ंक्शन का उपयोग कैसे करें?
- 2. जावा - WAV फ़ाइलों को पढ़ने, छेड़छाड़ करने और लिखने
- 3. फ़ाइलों को लिखने के लिए getResourceStream
- 4. क्लोजर 1.3 में, फ़ाइल को पढ़ने और लिखने के लिए
- 5. यूएसबी (एचआईडी) को पढ़ने और लिखने के लिए मैक
- 6. डेल्फी में सूचीदृश्य में पढ़ने और लिखने के लिए कैसे?
- 7. क्या कॉन्फ़िगरेशन फ़ाइलों को लिखने और पढ़ने के लिए कुछ सामान्य तरीका है?
- 8. ज़िप फ़ाइलों को पढ़ने/लिखने के लिए System.IO.Compression का उपयोग कैसे करें?
- 9. Node.js फ़ाइल लाइनों को पढ़ने और लिखने
- 10. फ़ाइल पढ़ने और लिखने के समानांतर कैसे करें
- 11. पढ़ने और लिखने के लिए जावा फ़ाइल लॉक
- 12. एक्सेल फ़ाइलों को पढ़ने/लिखने के लिए सी # का उपयोग करना (.xls/.xlsx)
- 13. सीरियलपोर्ट लिखने और विंडोज़ पर पढ़ने के लिए
- 14. सॉकेट एक साथ पढ़ने और लिखने के लिए
- 15. वाईआई मूल पढ़ने और लिखने के लिए फ़ाइल सहायक
- 16. बड़ी फ़ाइलों से पढ़ने वाले डेटा को पढ़ने और ग्राफिंग
- 17. SQLite बदलें डेटाबेस मोड पढ़ने के लिए लिखने के लिए
- 18. सी ++: पढ़ने और लिखने का उपयोग
- 19. C++ कैसे लिखने के लिए/यूनिकोड में ofstream पढ़ने/UTF8
- 20. बचत/लिखने/स्टोर और पढ़ने/लोड के बीच अर्थपूर्ण मतभेद?
- 21. एमपीआरआईएस + पायथन (डीबीस): गुण पढ़ने और लिखने
- 22. x86 झंडे रजिस्टरों को सीधे पढ़ने और लिखने के लिए कैसे?
- 23. क्या आर में स्मृति फ़ाइलों को पढ़ने और लिखने का कोई तरीका है?
- 24. फ़ाइलों को लिखने की गति
- 25. पूरे संग्रह को पढ़ने/पुनः लिखने के बिना किसी संग्रह में फ़ाइलों को जोड़ना
- 26. एकाधिक शब्दों के लिए एकाधिक फ़ाइलों को खोजना
- 27. फ़ाइल को बनाने और लिखने के लिए
- 28. पढ़ने/लिखने के अनुपात की जांच करने के लिए कमांड?
- 29. मैन्युअल रूप से .exe मशीन कोड को पढ़ने/लिखने के लिए कैसे?
- 30. रीयलटाइम में कच्चे ऑडियो डेटा को पढ़ने/लिखने के लिए (पायथन के साथ)?
होमवर्क ?? पोस्टर के इतिहास की जांच करें –
शायद। लेकिन साथ ही, मैं सिर्फ पाइथन सीख रहा हूं, खुद को याद दिलाने के लिए एक अच्छा अभ्यास की तरह लगता है कि मैं दीवार के खिलाफ अपने सिर को टक्कर नहीं दे रहा हूं। अगर वह खुद को इस स्तर की चीजें सीखने के लिए पर्याप्त परवाह नहीं करता है, तो मैं किस पर बहस करूँगा? दिन के अंत में, यदि आप परीक्षा में विफल रहते हैं, तो भी आप असफल हो गए हैं। –
मैंने इसे होमवर्क के रूप में टैग किया; गृहकार्य प्रश्न पूछना और जवाब देना साइट के रोस्टर में है, हालांकि पूछताछ के लाभ के लिए मैं चाहता हूं कि हम उन्हें पहले कोड प्रदान करने के लिए कहें जो अब तक काम नहीं करता है। – tzot