Kiểm tra data đó có được thêm vào file text thành công hay không

Hi mọi người, mình có đoạn code nhận data từ user nhập vào và thêm data đó vào file text.

nameUser = input("Please input a name user: ")
ageUser = input("Please input a age user: ")
with open('output.txt', 'a') as f:
    num_lines1 = sum(1 for line in open('output.txt'))
    f.write('{} {} \n'.format(nameUser, ageUser))
    f.close()
    num_lines2 = sum(1 for line in open('output.txt'))
    print(num_lines2)
    if num_lines2 > num_lines1:
        print("Insert successfully")
Jimmy 20
Michael 21

Hiện tại, đã thêm thành công và check được record đó có thêm vào hay chưa? Nhưng mình vẫn còn lấn cấn vì không biết cách này là ổn chưa? vì mình tự search google và làm, không có mentor nên không biết như vậy có ổn chưa? nhờ mọi người chỉ giáo thêm.

Chân thành cảm ơn.

Code của bạn hiện tại chỉ kiểm tra số dòng.
Bạn có thể thêm xử lí kiểm tra bằng cách đọc file xem nội dung trong file có đúng là nội dung input không :v

3 Likes
"""
Buoc 1. Lấy thông tin user nhập vào và ghi vào file
Buoc 2. Đọc nội dung file, lấy thông tin mới nhất vừa mới được ghi
Buoc 3. So sánh
"""

userName = input('Name: ')
userAge = input('Age: ')

# Mở file text ở chế độ 'a', tức ghi thêm ở cuối
f=open("test_input_output.txt", "a")
# Ghi thông tin vào file trên cùng 1 dòng, ngăn cách bởi dấu phẩu, có ký hiệu xuống dòng ở cuối câu
f.write(userName + ',' + userAge + '\n')
f.close()

# Mở file text
f=open("test_input_output.txt", "r")
# Đọc toàn bộ nội dung file, splitlines() là để tách nội dung đó thành từng dòng.
content = f.read().splitlines()
# Lấy ra dòng cuối cùng. [-1] là để chỉ index cuối cùng
# last_line lúc này là str
last_line = content[-1]
#print(last_line)
f.close()

# Phân tách nội dung dòng cuối ra thành từng item (ngăn cách bởi dấu phẩy)
# last_line lúc này trở thành list
last_line = last_line.split(',')
print(type(last_line))


# Kiểm tra xem 2 thông tin vừa mới nhập vào bên trên có nằm trong list không
if userName in last_line and userAge in last_line:
	print('YESS')
else:
	print('NOOOOOO')
3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?