Tôi đang xem cách thực hiện nhập và xuất tệp trong Python. Tôi đã viết đoạn mã sau để đọc danh sách tên (mỗi dòng trên một tệp) vào một tệp khác trong khi kiểm tra tên với tên trong tệp và thêm văn bản vào các lần xuất hiện trong tệp. Các mã hoạt động. Nó có thể được thực hiện tốt hơn?
Tôi muốn sử dụng with open(...
câu lệnh cho cả tệp đầu vào và đầu ra nhưng không thể thấy chúng có thể nằm trong cùng một khối nghĩa là tôi cần lưu trữ tên ở một vị trí tạm thời.
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()
là một hàm tích hợp và vì vậy có lẽ bạn nên chọn một tên khác cho hàm của mình.
filter()
), nó sẽ được tìm thấy trước khi tích hợp sẵnfilter()