Các tệp được đặt tên các vị trí trên đĩa để lưu trữ thông tin liên quan. Chúng được sử dụng để lưu trữ vĩnh viễn dữ liệu trong bộ nhớ (ví dụ: đĩa cứng). Khi ta muốn đọc hoặc ghi vào một tập tin, trước tiên ta cần mở nó. Sau khi hoàn tất, tập tin cần được đóng lại để các tài nguyên gắn với tệp được giải phóng. Do đó, trong Python, các thao tác trên tệp diễn ra theo thứ tự sau: Mở tệp tin Đọc hoặc ghi (thực hiện thao tác) Đóng tệ
Scientific Programming Language NGƠN NGỮ LẬP TRÌNH LẬP TRÌNH P TRÌNH KHOA HỌCC Nguyễn Mạnh Cường Scientific Programming Language BÀI XỬ LÝ FILE, NHẬP/XUẤT DỮ LIỆU (FILE INPUT/ OUTPUT) Scientific Programming Language BÀI FILE INPUT/ OUTPUT • File Open/ Close (mở/ đóng tệp) • Write data to file (ghi liệu vào tệp) • Read data from file (đọc liệu từ tệp) • Directory (các thao tác thư mục) • Binary files (các tệp nhị phân) Bài 4: File input/output Scientific Programming Language BÀI - File Open/ Close Mở file f = open(filename, [mode], mode], [mode], encoding]) Open/ close Write data Read data Directory Binary file filename : Có thể chứa đường dẫn [mode] : r, w, a, mặc định r [encoding] : ‘utf-8’ f = open("test.txt", mode='r', encoding='utf8') Đóng file f close() Bài 4: File input/output Scientific Programming Language BÀI Open/ close Write data Read data Directory Binary file Write data to file • Ghi liệu vào file o Mở file để ghi: [mode]= w a o Ghi file: f.write(Dữ_Liệu) Dữ_Liệu: Cần có kiểu văn VD: f.write("my first file\n") Bài 4: File input/output Scientific Programming Language BÀI Open/ close Write Write data to file BÀI TẬP 4.1 • Nhập mảng a gồm n phần tử nguyên từ bàn phím Ghi liệu a vào tệp data Read data Directory Binary file • Nhập ma trận b(nxm) gồm phần tử thực từ bàn phím Ghi liệu b vào tệp Bài 4: File input/output Scientific Programming Language BÀI Open/ Read data from file • Đọc liệu từ file Write data o Mở file để đọc: [mode]= r mặc định o Con trỏ tệp: trỏ tới vị trí đọc Read Kiểm tra vị trí trỏ tệp: close f.tell() data Di chuyển trỏ tệp: f.seek(vị_trí) Directory o Phương thức read() Binary file Đọc n ký tự: f.read(n) Đọc tồn phần cịn lại tệp: f.read() Bài 4: File input/output Scientific Programming Language BÀI Open/ close Write data Read data Directory Binary file Read data from file • Đọc liệu từ file o Phương thức readline() Đọc dòng (cả dấu xuống dòng): f.readline() o Phương thức readlines() Đọc tồn dịng (từ vị trí trỏ): f.readlines() Dữ liệu trả list, phần tử dòng Bài 4: File input/output Scientific Programming Language BÀI Open/ close Write data Read data Directory Binary file Read data from file BÀI TẬP 4.2 o Tạo ma trận a(nxm) số thực lưu trữ tệp o Đọc liệu từ tệp lên biến n, m , b(nxm) 3 5 Bài 4: File input/output Scientific Programming Language BÀI Open/ close Write data Read data Directory Read data from file BÀI TẬP 4.3 o Cho liệu theo đường link sau (sinh viên tải liệu máy tính) o Đọc liệu từ liệu lưu vào biến tương ứng Binary file Bài 4: File input/output 10 Scientific Programming Language BÀI - Directory - Thao tác thư mục • Các thao tác với thư mục Open/ o import os close o Lấy thư mục tại: os.getcwd() Write data o Chuyển tới thư mục: os.chdir(“Tên_Mới”) Read data o Hiển thị nội dung thư mục: os.listdir([“Tên”]) Directory o Tạo thư mục: Binary file o Đổi tên thư mục/file: os.mkdir([“Tên”]) o Xóa thư mục rỗng/file: os.rename(“Tên”, “Tên_mới”) os.rmdir()/ os.remove(“Tên”) Bài 4: File input/output 11 Scientific Programming Language BÀI - Directory - Thao tác thư mục • Các thao tác với thư mục Open/ o import shutil close o Xóa thư khơng rỗng: shutil rmtree(“Tên”) Write data o Copy file: shutil copy(src, des) Read data o Copy file: shutil copyfile(src, des) Directory Binary file Bài 4: File input/output 12 Scientific Programming Language BÀI Open/ close Write data Read data Directory Binary file Directory - Thao tác thư mục BÀI TẬP 4.4 o Tạo thư mục ổ đĩa với tên o Di chuyển file liệu vào thư mục vừa tạo o Hiển thị nội dung thư mục o Đổi tên thư mục o Xóa file o Xóa thư mục Bài 4: File input/output 13 Scientific Programming Language BÀI - Binary files – tệp nhị phân • File encoding (mã hóa file) Open/ close Write data Read data Directory • Binary file (file nhị phân) • Đọc liệu từ file nhị phân • Ghi liệu vào file nhị phân Binary file Bài 4: File input/output 14