Saya sedang mencari cara melakukan input dan output file dengan Python. Saya telah menulis kode berikut untuk membaca daftar nama (satu per baris) dari file ke file lain sambil memeriksa nama terhadap nama-nama dalam file dan menambahkan teks ke kejadian dalam file. Kode berfungsi. Bisakah itu dilakukan lebih baik?
Saya ingin menggunakan with open(...
pernyataan untuk file input dan output tetapi tidak bisa melihat bagaimana mereka bisa berada di blok yang sama yang berarti saya harus menyimpan nama-nama di lokasi sementara.
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()
adalah fungsi bawaan sehingga Anda mungkin harus memilih nama yang berbeda untuk fungsi Anda.
filter()
), itu akan ditemukan sebelum built-infilter()