30/09/2018, 17:39
Hỏi về câu lệnh truncate trong Python
@ltd
Mình không hiểu đoạn lệnh target.truncate() này thực hiện gì, mong mọi người chỉ giúp.
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, ‘w’)
print "Truncating the file. Goodbye!"
target.truncate()
Bài liên quan
Cũng giống với mở file kiểu trunc trong C/C++, mở file xong thì xóa hết dữ liệu đã có trong file.
Tạm dịch:
Gợi ý khi học khóa này mà chưa biết tiếng Anh: dùng Google Translate
lệnh đó có nghĩa là xóa file hay xóa nội dung file vậy bạn?
http://www.tutorialspoint.com/python/file_truncate.htm
Link này ghi rõ chức năng của hàm này là cắt nội dung file tới kích thước “size”
Có 1 tham số optional là size. Nếu ko truyền tham số nào thì xóa nội dung.
Ok, mình hiểu rồi, cám ơn bạn
mình hỏi về lệnh xóa dòng trong tập tin như sau:
có 2 file f1 chứa nội dung và f2(đang là file rỗng)
Mình muốn trích một số dòng (ký hiệu là a) có trong file 1 (thỏa điều kiện cho trước để ghi a sang file 2), mình đã dùng lệnh: for lines in f1:
if a thỏa điều kiện… :
f2.write(a)
với đoạn lệnh trên, mình đã ghi được các dòng (a) thỏa điều kiện cho trước từ file f1 sang f2 rồi. (tức là f2 bây giờ đang chứa các dòng a thỏa điều kiện cho trước). Tuy nhiên, trên f1 vẫn còn tồn tại các dòng a đó. Bây giờ mình muốn thực hiện 2 thao tác đồng thời, tức là khi ghi dòng a đó sang file f2, đồng thời xóa luôn nó trong file f1. (giống như thao tác di chuyển (lệnh cut trong word, chứ k fải lệnh copy)).
Không biết trong python có lệnh thực hiện chức năng này không? hoặc dùng cách nào để di chuyển dòng a (từ f1 sang f2?). Mong cả nhà chỉ giáo ^^!