Hôm nay chúng ta sẽ được tìm hiều về đọc và xuất file trong Python. Việc thao tác với file sẽ được sử dụng rất nhiều trong khi làm việc sau này.
- Đầu tiên: Mở file
Khi mở file chúng ta sử dụng hàm với cú pháp sau:
Thông số thứ nhất là một chuỗi chứa tên tập tin. Thông số thứ hai là một chuỗi khác chứa một vài ký tự xác định cách thức tập tin sẽ được dùng. mode có thể là 'r' khi tập sẽ chỉ được đọc, 'w' chỉ được ghi (tập tin cùng tên đang có sẽ bị xóa), và 'a' mở tập tin để thêm vào cuối; mọi dữ liệu ghi vào tập tin sẽ được tự động thêm vào cuối. 'r+' mở tập tin để đọc và ghi. Thông số mode là không bắt buộc; 'r' sẽ được giả định nếu nó bị bỏ qua.
Trong Windows và Macintosh, 'b' thêm vào mode mở tập tin ở chế độ nhị phân, cho nên cũng có các chế độ khác như 'rb', 'wb', và 'r+b'. Windows phân biệt rõ các tập tin văn bản và nhị phân; ký tự hết dòng (end-of-line) trong các tập tin văn bản được tự động thay đổi một chút khi dữ liệu được đọc hay ghi. Việc thay đổi sau bức bình phong (behind-the-scene) như vậy không ảnh hưởng các tập tin văn bản ASCII, nhưng nó sẽ phá dữ liệu nhị phân như trong các tập tin JPEG hay hàm EXE . Cần cẩn thận dùng chế độ nhị phân khi đọc và ghi các tập tin như vậy.
Ví dụ:
- Thứ hai: Đọc file
Để đọc file chúng ta sử dụng cú pháp sau. Giả sử chúng ta đã mở file vidu.txt như cú pháp trên:
Output:
- Thứ ba: Ghi file
Để ghi file, trước hết chúng ta cần mở file ra bằng cú pháp mở file. Sau đó sử dụng hàm sau để ghi vào file:
Hàm viết nội dung của string vào tập tin, trả về None. Để viết một thứ khác không phải là chuỗi, nó sẽ cần được chuyển thành một chuỗi trước:
- Cuối cùng: Đóng file
Các bạn sử dụng hàm sau để đóng file:
Ví dụ:
Output:
![[IMG]](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_tcA9hYTmW5Aq_2Y_oRRmIr3jBmlSxzRFWHHFalqoL6SKugjeSExmUzm7a7pa6cmCcAJG1NZJ3aszAqDcC98Z2ueroxclb4m0i7wcNu2JKtIQAkmH2aui-7D1Hiz5k3dH_dBxklnoxcEpRtFwx3oSA--ATsx5HaYBF8gtR9RFNfNkO82PYLpqnVCB5fDJkE=s0-d)
Bài tập:
- Đầu tiên: Mở file
Khi mở file chúng ta sử dụng hàm với cú pháp sau:
Code:
open(filename, mode)
Trong Windows và Macintosh, 'b' thêm vào mode mở tập tin ở chế độ nhị phân, cho nên cũng có các chế độ khác như 'rb', 'wb', và 'r+b'. Windows phân biệt rõ các tập tin văn bản và nhị phân; ký tự hết dòng (end-of-line) trong các tập tin văn bản được tự động thay đổi một chút khi dữ liệu được đọc hay ghi. Việc thay đổi sau bức bình phong (behind-the-scene) như vậy không ảnh hưởng các tập tin văn bản ASCII, nhưng nó sẽ phá dữ liệu nhị phân như trong các tập tin JPEG hay hàm EXE . Cần cẩn thận dùng chế độ nhị phân khi đọc và ghi các tập tin như vậy.
Ví dụ:
Code:
f=open('/home/kma/vidu.txt', 'w')
Để đọc file chúng ta sử dụng cú pháp sau. Giả sử chúng ta đã mở file vidu.txt như cú pháp trên:
- Hàm sử dụng để đọc file:Code:
f.read(size)
- Đọc 1 dòng của file:Code:
f.readline()
- Để di chuyển vị trí trong file:Code:
f.seek(offset, from_what)
- Để biết vị trí của con trỏ trong tập tin:Code:
f.tell()
Code:
#coding: utf-8 filename = raw_input('Nhap vao ten file can doc: ') print "Đây là nội dung file của bạn: " f = open(filename,'r') print f.read()
- Thứ ba: Ghi file
Để ghi file, trước hết chúng ta cần mở file ra bằng cú pháp mở file. Sau đó sử dụng hàm sau để ghi vào file:
Code:
f.write(string)
Code:
value = ('the answer', 42) s = str(value) f.write(s)
Các bạn sử dụng hàm sau để đóng file:
Code:
f.close()
Code:
print "Hom nay toi se chi cho ban cach viet vao 1 file." f = open('ghifile.txt','w+') f.write('Day la dong dau tien\n') s = 'Day la dong thu hai\n' f.write(s) s1 = raw_input('Nhap vao dong ban muon viet: ') f.write(s1) print "Mo file ghifile.txt ra xem ket qua nhe" f.close()
- Viết chương trình giải phương trình ax+b = c với a,b,c nhập từ bàn phím. Kết quả thu được lưu vào file ketqua.txt
- Viết chương trình thực hiện một bản phỏng vấn nhỏ, kết quả phỏng vấn được lưu vào file hoso.txt. Sau đó dùng lệnh đọc file để in file hoso.txt ra màn hình.
No comments:
Post a Comment