मैं देख रहा हूँ कि पायथन में फ़ाइल इनपुट और आउटपुट कैसे करें। मैंने फ़ाइल में नामों के विरुद्ध नाम की जाँच करते हुए और फ़ाइल में होने वाली घटनाओं के पाठ को जोड़ते हुए एक फ़ाइल से दूसरी फ़ाइल में नामों की सूची (एक पंक्ति में) पढ़ने के लिए निम्नलिखित कोड लिखा है। कोड काम करता है। क्या यह बेहतर किया जा सकता है?
मैं with open(...
इनपुट और आउटपुट फाइल दोनों के लिए स्टेटमेंट का उपयोग करना चाहता था, लेकिन यह नहीं देख सकता कि वे एक ही ब्लॉक अर्थ में कैसे हो सकते हैं, मुझे नाम को एक अस्थायी स्थान पर संग्रहीत करने की आवश्यकता होगी।
def filter(txt, oldfile, newfile):
'''\
Read a list of names from a file line by line into an output file.
If a line begins with a particular name, insert a string of text
after the name before appending the line to the output file.
'''
outfile = open(newfile, 'w')
with open(oldfile, 'r', encoding='utf-8') as infile:
for line in infile:
if line.startswith(txt):
line = line[0:len(txt)] + ' - Truly a great person!\n'
outfile.write(line)
outfile.close()
return # Do I gain anything by including this?
# input the name you want to check against
text = input('Please enter the name of a great person: ')
letsgo = filter(text,'Spanish', 'Spanish2')
filter()
है एक अंतर्निहित समारोह और इसलिए आप शायद अपने समारोह के लिए एक अलग नाम का चयन करना चाहिए।
filter()
), तो यह बिल्ट-इनfilter()