Hướng dẫn dùng python truncated python

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[]

❮ File Methods

Example

Open the file with "a" for appending, then truncate the file to 20 bytes:

f = open["demofile2.txt", "a"]
f.truncate[20]
f.close[]

#open and read the file after the truncate:
f = open["demofile2.txt", "r"]
print[f.read[]]

Run Example »

Definition and Usage

The truncate[] method resizes the file to the given number of bytes.

If the size is not specified, the current position will be used.

Syntax

Parameter Values

ParameterDescriptionsizeOptional. The size of the file [in bytes] after the truncate. Default None, which means the current file stream position.

❮ File Methods


Phương thức truncate[] cắt gọn kích cỡ file. Nếu tham số size tùy ý này có mặt, thì file được cắt gọn về kích cỡ đó.

Nếusize vượt quá kích cỡ file hiện tại thì kết quả tùy thuộc vào nền tảng.

Ghi chú: Phương thức không làm việc với file được mở trong chế độ read-only.

Cú pháp

Cú pháp của truncate[] trong Python:

fileObject.truncate[ [ size ]]

Chi tiết về tham số:

  • size -- Nếu tham số size tùy ý này có mặt, thì file được cắt gọn về kích cỡ đó.

Trả về giá trị

Phương thức này không trả về bất cứ giá trị nào.

Chương trình Python ví dụ

Ví dụ sau minh họa cách sử dụng của truncate[] trong Python.

Giả sử có foo.txt file có nội dung:

Dong thu nhat: Ho va ten
Dong thu hai: Tuoi
Dong thu ba: Gioi tinh
Dong thu tu: Nghe nghiep
Dong thu nam: Tinh trang hon nhan
 

# Mo mot file
fo = open["foo.txt", "rw+"]
print "Ten cua file la: ", fo.name

# Gia su trong file co 5 dong sau
# Dong thu nhat: Ho va ten
# Dong thu hai: Tuoi
# Dong thu ba: Gioi tinh
# Dong thu tu: Nghe nghiep
# Dong thu nam: Tinh trang hon nhan

line = fo.readline[]
print "Dong da doc la: %s" % [line]

# Bay gio truncate.
fo.truncate[]

# Luc nay ban co gang doc thu file
line = fo.readline[]
print "Dong da doc la: %s" % [line]

# Dong file da mo
fo.close[]

Chạy chương trình Python trên sẽ cho kết quả −

Ten cua file la:  foo.txt
Dong da doc la: Dong thu nhat: Ho va ten

Dong da doc la: 

Chủ Đề