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()

... viết 19:55 ngày 30/09/2018

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.

htl@PyMI.vn viết 19:42 ngày 30/09/2018

Tạm dịch:

script, filename = argv 
print "Chúng ta chuẩn bị xóa file %r." % filename
print "Nếu bạn không muốn xóa, bấm CTRL-C (^C)."
print "Nếu bạn muốn xóa thì bấm RETURN (nút ENTER)." , raw_input("?")

print "Đang mở file..."
target = open(filename, 'w')

print "Đang xóa file. Tạm biệt!"
target.truncate()

Gợi ý khi học khóa này mà chưa biết tiếng Anh: dùng Google Translate

Thu Nguyen viết 19:44 ngày 30/09/2018

ở file xong thì xóa hết dữ liệu đã có trong file

lệnh đó có nghĩa là xóa file hay xóa nội dung file vậy bạn?

htl@PyMI.vn viết 19:50 ngày 30/09/2018

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.

Thu Nguyen viết 19:41 ngày 30/09/2018

mở file kiểu trunc trong C/C++, mở file xong thì xóa hết dữ liệu đã có trong

Ok, mình hiểu rồi, cám ơn bạn

shu viết 19:51 ngày 30/09/2018

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 ^^!

Bài liên quan
0