Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
Em có 1 file chứa 2 dòng
1 2 3 4 5 6
1 2 3 4 5 6
Em có nhiệm vụ phải viết số mới,nằm trên dòng đầu tiên và tạo list các phần tử của dòng đầu
Code của em
f = open('phong1.txt',mode='r+')
# Nhập số mình đưa vào file
d1=int(input('Nhập số mới: '))
# Đưa con trỏ tới cuối dòng
d = f.readline()
# Điều chỉnh con trỏ
f.seek(f.tell()-2)
# Ghi số mới vào file
f.write(str(d1))
# Tạo list chứa các phần tử của dòng trên
a= d.split(' ')
a.append(d1)
print(a)
f.close()
Nhưng khi em chạy code với số mới là 7 thì nó ghi file như này
1 2 3 4 5 6 7 1 2 3 4 5 6
Và list của em thì chứa cả escape sequence ['1', '2', '3', '4', '5', '6', '\n', 7]
Em muốn hỏi:
+)Cách khắc phục sao cho nó ghi file đúng như ý mình
1 2 3 4 5 6 7
1 2 3 4 5 6
+)Và trong list của mình không có escape sequence ạ
Em cảm ơn
Bạn có thể sử dụng writeline để viết nhiều dòng vào file.
Logic sẽ trông như sau:
Bạn nên format lại code của mình để người giúp đỡ dễ đọc code hơn nhé!