Lập trình Python1. Tìm hiểu về kiểu tệp– Tệp (file) hay còn gọi là tập tin dùng để chứa các thông tin được đặt tên và lưu trữ trên bộ nhớ máy tính như đĩa cứng, USB, thẻ nhớ, CD, DVD,… Show – Ký tự lưu trong tệp không chỉ theo mã ASCII mà còn có thể mà mã Unicode – Khi muốn đọc/ ghi dữ liệu vào tệp ta phải mở tệp trước và sau khi thao tác xong với tệp ta phải đóng tệp để giải phóng bộ nhớ. 2. Thao tác với tệpa. Mở tệpCách 1: <tên biến tệp> = open(<tên tệp>,<kiểu mở>) Cách 2: with open(<tên tệp>,<kiểu mở>) as <tên biến> Trong đó, <kiểu mở> có thể dùng các kiểu sau:
Ngoài ra, Python còn hỗ trợ các kiểu mở chế độ nhị phân như: rb, rb+, wb, wb+, ab, ab+. b. Đọc tệp– Đọc từng dòng: <tên biến> = <tên biến tệp>.readline() – Đọc theo từng dòng đến hết: for <tên biến> in <tên biến tệp>: print(<tên biến>,end=“”) – Đọc toàn bộ tệp: <tên biến> = <tên biến tệp>.read() Lưu ý: Dữ liệu đọc từ tệp luôn là kiểu dữ liệu xâu c. Ghi dữ liệu vào tệp – Cú pháp: <tên biến tệp>.write(<nội dung cần ghi>) – Lưu ý: <nội dung cần ghi> phải là kiểu xâu d. Đóng tệp– Cú pháp: <tên biến tệp>.close() – Lưu ý: Sau khi thao tác với tệp xong ta nên đóng tệp để giải phóng tài nguyên 3. Ví dụ làm việc với tệpBài 1: Viết chương trình tính tổng các số lẻ trong tệp DATA.INP gồm 1 dòng duy nhất chứa dãy các số nguyên dương cách nhau bởi dấu cách. Xuất kết quả ra tệp DATA.OUT Bài 2: Viết chương trình lọc các số ở văn bản gồm có nhiều dòng trong tệp DATA.INP và xuất ra tệp DATA.OUT gồm dãy các số của từng dòng tương ứng ở trong tệp DATA.INP Xem tiếp Bài 12 – Lập trình hướng đối tượng trong ngôn ngữ lập trình Python Để thao tác với tệp (đọc hoặc ghi dữ liệu) trong Python có nhiều cách khác nhau. Trong đó sử dụng câu lện with là đơn giản và hiệu quả, ngắn gọn và an toàn. Cú pháp như sau: with open("tenfile.txt","mode")as tenbien: # Thực hiện các thao tác với file Với câu lệnh trên file được mở để thao tác đồng thời sẽ tự động đóng file sau khi thao tác. Các chế độ mở file (mode) thường dùng như sau:
Ví dụ, Ta có file ‘vao.txt’ được lưu cùng thư mục với file Python. Mở file để đọc ta dùng phương thức with open(‘tenfile’, ‘mode’) as tenbien. Ta có thể gán mode hoặc bỏ qua vì Python mặc định mở file là để đọc. with open("vao.txt") as f: with open("vao.txt")as f: with open("vao.txt")as f: Đọc từng dòng đến hết file with open("vao.txt") as f: Lưu ý: Tất cả dữ liệu đọc từ file text đều có kiểu string. Vì vậy nếu là các chữ số, khi đọc vào phải ép kiểu thành number mới có thể thực hiện các phép toán số học. Chúng ta có thể thay đổi vị trí con trỏ tệp hiện tại bằng cách sử dụng phương thức seek (). Tương tự, phương thức tell () trả về vị trí hiện tại của con trỏ tệp (theo số byte). with open('input.txt') as f: Giải thích: Câu lệnh 1 để mở file đọc Câu lệnh 2 đọc toàn bộ file và in ra màn hình Câu lệnh 3: in ra màn hình thông báo vị trí con trỏ hiện thời (là vị trí cuối file) Câu lệnh 4: chuyển con trỏ về vị trí 0 (đầu file) Câu lệnh 5: đọc 5 ký tự (5 bytes) và gán vào biến doc Câu lệnh 6: in biến doc ra màn hình Câu lệnh 7: in ra màn hình thông báo vị trí con trỏ hiện thời Câu lệnh 8: Chuyển con trỏ đến vị trí 13 Câu lệnh 9: đọc đến cuối file và in ra màn hình
Mở file để ghi ta dùng phương thức with open(‘tenfile’, ‘mode’) as tenbien. Mode thường dùng là w (ghi đè) hoặc a (ghi tiếp). Cả mode a và w đều sẽ tạo file mới để ghi nếu file mở để ghi chưa tồn tại. with open("ra.txt",'w')as f: f.write("Ghi dong chu nay vao file ra.txt") Lưu ý: Để ghi dữ liệu vào file text ta chuyển về kiểu xâu trước khi ghi (nếu dữ liệu là số). Chương trình sau sẽ báo lỗi: a = "Ghi dong chu nay vao file ra.txt" with open("ra.txt",'w')as f: a ="Ghi dong chu nay vao file ra.txt" with open("ra.txt",'w')as f: |