Dạ chào cả nhà, em là mem mới tập tành học python nên có 1 chút thắc mắc ạ, e thử 1 đoạn code như sau, mà sau khi thử hàm truncate
ko hoạt động, cụ thể là ko xóa nội dung file nên khi e để ở mode a+
hay r+
đều thêm vào nội dung file, đặc biệt ở mode r+
nó ko chèn thêm ở dưới dòng cuối mà chen lẫn lên dòng cuối ký tự luôn, các bác cho em hỏi là e hiểu sai về hàm truncate
và cách hoạt động của các mode r+,a+
hay như nào ạ? vì theo e nghĩ thì hàm truncate
này khi chạy nó đã xóa hết ký tự trong file text r chứ ạ?
còn 1 cấn đề nữa ạ, là ở đoạn sau (chỗ bôi đen in đậm gạch chân ý ạ) khi e thêm vào và cho hiện ký tự thì nó lại hiện ra 1 đống nhị phân @@, ko đọc đc file ạ, e ko hiểu lắm, các bác giúp e vs ạ
em xin cảm ơn :xauho:
from sys import argv
script, filename = argv
print "we're going to erase %r." %filename
print "if you don't want that, hit CTRL-C (^C)."
print "if you do want that, hit return."
raw_input('?')
print "opening the file..."
target = open(filename, 'r+')
print "File: %r" %filename
print target.read()
print "Truncating the file. Goodbye!"
target.truncate()
print "now i'm going to ask you for three line."
line1 = raw_input("line1: ")
line2 = raw_input("line2: ")
line3 = raw_input("line3: ")
print "i'm going to write these to the file."
target.write(line1)
target.write("\n")
target.write(line2)
target.write("\n")
target.write(line3)
target.write("\n")
print "File: %r" %filename
print target.read()
print "and finally, we close it."
target.close()