1. Trang chủ
  2. » Tất cả

Bài 19_ Xử lý file trong Python_Howkteam.com

15 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 458,92 KB

Nội dung

1 | 15 KHÓA PYTHON CƠ BẢN HOWKTEAM.COM Bài 19: XỬ LÝ FILE TRONG PYTHON Xem học website để ủng hộ Kteam: Xử lý file Python Mọi vấn đề lỗi website làm ảnh hưởng đến bạn thắc mắc, mong muốn khóa học mới, nhằm hỗ trợ cải thiện Website Các bạn vui lòng phản hồi đến Fanpage How Kteam nhé! Dẫn nhập Trong trước, Kteam giới thiệu đến bạn phương thức KIỂU DỮ LIỆU DICT Python Ở Kteam giới thiệu với bạn CÁCH XỬ LÝ FILE Python Một điều thiết yếu mà ngơn ngữ lập trình bạn phải tìm hiểu Nội dung Để đọc hiểu tốt bạn cần:     Cài đặt sẵn MÔI TRƯỜNG PHÁT TRIỂN CỦA PYTHON Xem qua CÁCH CHẠY CHƯƠNG TRÌNH PYTHON Nắm CÁCH GHI CHÚ BIẾN TRONG PYTHON KIỂU DỮ LIỆU LIST, KIỂU DỮ LIỆU TUPLE, KIỂU DỮ LIỆU SET Python Trong này, tìm hiểu nội dung sau   Khái quát File Python Mở File Python Copyright © Howkteam.com | 15 KHĨA PYTHON CƠ BẢN HOWKTEAM.COM      Đóng File Python Đọc File Python Ghi File Python Kiểm soát trỏ File Câu lệnh with Khái quát File Python File thứ quen thuộc người sử dụng máy tính Bạn thao tác,tạo lập file ngày Nó hình, văn tài liệu, file thực thi nhiều nhiều thứ khác Trong Python, file có loại: Text File   Được cấu trúc dãy dòng, dòng bao gồm dãy kí tự dịng tối thiểu kí tự dịng dịng trống Các dòng text file ngăn cách kí tự newline mặc định Python kí tự escape sequence newline \n Binary File   Các file xử lí ứng dụng biết hiểu cấu trúc file Và với mức độ xử lí text file Mở File Python Khỏi phải bàn, muốn thao tác với file, ta phải mở file Mà muốn mở file, ta cần phải có file Ở đây, Kteam tạo file, sau mở CMD thư mục file để khơng gặp nhiều khó khăn việc xử lí đường dẫn (Việc xử lí đường dẫn, Kteam giới thiệu cách xử lí thư viện os tương lai) Copyright © Howkteam.com | 15 KHÓA PYTHON CƠ BẢN HOWKTEAM.COM Tên file là: kteam.txt Nội dung file: How Kteam Free Education Share to better print('hello world!') Hàm open Được rồi, mở file cách sử dụng hàm open Cú pháp: open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) Công dụng: Ở mức độ bản, quan tâm đến parameter: file mode Nếu bạn muốn tìm hiểu rõ parameter khác Hãy dùng lệnh: Copyright © Howkteam.com | 15 KHÓA PYTHON CƠ BẢN HOWKTEAM.COM >>> help(open) Ta bắt đầu bắc cách thử mở file Lưu ý: Kteam xin khuyến khích bạn khơng sử dụng interactive prompt >>> file_object = open('kteam.txt') >>> file_object >>> type(file_object) # không cần quan Lưu ý: hàm open trả file object Đây iterable Tiếp đến mode mở file Và với mức độ bản, Kteam cung cấp số mode liên quan đến text file Copyright © Howkteam.com | 15 KHĨA PYTHON CƠ BẢN HOWKTEAM.COM Đóng File Python Đây việc nên làm sau thao tác xong với file Đó đóng file Cú pháp: .close() Tại nên đóng file sau hồn tất cơng việc với file? Copyright © Howkteam.com | 15 KHÓA PYTHON CƠ BẢN HOWKTEAM.COM   Giới hạn hệ điều hành Chẳng hạn hệ điều hành cho mở số file định lúc qn đóng file gây hao tốn Đặc biệt file với dung lượng bự Khi file mở, hệ điều hành khóa file lại, khơng cho chương trình khác xử lí file nhằm đảm bảo tính qn liệu Do close file xong việc! Dẫu vậy, chương trình kết thúc Tất file mở đóng lại Tuy nhiên việc đóng file trách nhiệm nằm >>> fobj = open('kteam.txt') >>> fobj >>> fobj.close() >>> fobj # sau đóng file, phương thức xử lí sử dụng Đọc File Python Ta có số phương thức lấy nội dung file Phương thức read Cú pháp: .read(size=-1) Công dụng: Nếu size bị bỏ trống số âm Nó đọc hết nội dung file đồng thời đưa trỏ file tới cuối file Nếu khơng đọc tới n kí tự (với n = size) nội dung file đọc xong  Sau đọc nội dung, trả dạng chuỗi Copyright © Howkteam.com | 15 KHĨA PYTHON CƠ BẢN HOWKTEAM.COM  Nếu khơng đọc gì, phương thức trả chuỗi có độ dài Ví dụ: >>> fobj = open('kteam.txt') >>> data = fobj.read() >>> data "How Kteam\nFree Education\n\nShare to better\n\nprint('hello world!')\n" >>> print(data) How Kteam Free Education Share to better print('hello world!') >>> fobj.read() # trỏ file vị trí cuối cùng, bạn khơng thể đọc '' >>> fobj.close() # nhớ đóng file Dưới ví dụ đọc số kí tự >>> fobj = open('kteam.txt') >>> fobj.read(2) 'Ho' >>> fobj.read(10) 'w Kteam\nFr' >>> fobj.read(20) 'ee Education\n\nShare ' >>> fobj.read() "to better\n\nprint('hello world!')\n" >>> fobj.close() Copyright © Howkteam.com | 15 KHĨA PYTHON CƠ BẢN HOWKTEAM.COM Phương thức readline Cú pháp: .readline(size=-1) Công dụng: Với parameter size hồn tồn tương tự phương thức read     Khác biệt chỗ, phương thức readline đọc dịng có nghĩa đọc tới gặp newline hết file ngừng Con trỏ file từ dòng qua dòng khác Kết đọc trả dạng chuỗi Nếu khơng đọc gì, phương thức trả chuỗi có độ dài Ví dụ: >>> fobj = open('kteam.txt') >>> fobj.readline() 'How Kteam\n' >>> fobj.readline(10) 'Free Educa' >>> fobj.readline() 'tion\n' >>> fobj.readline() '\n' >>> fobj.readline() 'Share to better\n' >>> fobj.close() Copyright © Howkteam.com | 15 KHÓA PYTHON CƠ BẢN HOWKTEAM.COM Phương thức readlines Cú pháp: .readlines(hint=-1) Ở mức độ bản, ta quan tâm đến parameter hint Công dụng: Phương thức đọc tồn file, sau cho chúng vào list Với phần tử list dòng file  Con trỏ file đưa tới cuối file Khi đó, bạn tiếp tục dùng readlines Bạn nhận list rỗng Ví dụ: >>> fobj = open('kteam.txt') >>> list_content = fobj.readlines() >>> list_content ['How Kteam\n', 'Free Education\n', '\n', 'Share to better\n', '\n', "print('hello world!')\n"] >>> list_content[2] '\n' >>> list_content[-1] "print('hello world!')\n" >>> fobj.close() Đọc file constructor nhận iterable Như nói, file object nhận từ hàm open iterable Thế nên, ta sử dụng constructor list >>> fobj = open('kteam.txt') >>> list_content = list(fobj) Copyright © Howkteam.com 10 | 15 KHÓA PYTHON CƠ BẢN HOWKTEAM.COM >>> list_content ['How Kteam\n', 'Free Education\n', '\n', 'Share to better\n', '\n', "print('hello world!')\n"] >>> fobj.close() Và Tuple >>> fobj = open('kteam.txt') >>> tup_content = tuple(fobj) >>> tup_content ('How Kteam\n', 'Free Education\n', '\n', 'Share to better\n', '\n', "print('hello world!')\n") >>> fobj.close() Các constructor đưa trỏ file xuống cuối file Ghi File Python Chúng ta có giúp đỡ phương thức write để ghi nội dung vào file Và không cần phải tạo file Vì mode ghi giúp tạo file Phương thức write Cú pháp: .write(text) Cơng dụng: Phương thức trả số kí tự mà ghi vào Ví dụ: Copyright © Howkteam.com KHÓA PYTHON CƠ BẢN HOWKTEAM.COM 11 | 15 >>> fobj = open('kteam_2.txt', 'w') >>> fobj.write('The first line\n') # thêm \n để kết thúc dòng 15 >>> fobj.write('And last line too') 17 >>> fobj.close() Mỗi lần sử dụng write Con trỏ file đặt sau kí tự cuối ghi Hãy lưu ý điều này, quan trọng Đặc biệt bạn sử dụng mode vừa đọc vừa ghi Nhưng, bạn gặp vấn đề sử dụng mode w Ta mở lại file ta ghi vài dòng vào >>> fobj = open('kteam_2.txt') >>> fobj.read() 'The first line\nAnd last line too' >>> fobj.close() >>> fobj = open('kteam_2.txt', 'w') >>> fobj.write('\none more line') 14 >>> fobj.close() >>> fobj = open('kteam_2.txt') >>> fobj.read() '\none more line' >>> fobj.close() Đó nội dung file ban đầu bạn bị Đó lí cần mode a Ta mở lại file ta viết thêm lần >>> fobj = open('kteam_2.txt', 'a') >>> fobj.write('\nthe second line') 16 >>> fobj.close() >>> fobj = open('kteam_2.txt') >>> fobj.read() '\none more line\nthe second line' >>> fobj.close() Copyright © Howkteam.com 12 | 15 KHĨA PYTHON CƠ BẢN HOWKTEAM.COM Kiểm soát trỏ file Bạn thấy, trỏ file quan trọng, dẫn đường cho việc đọc file, viết file Và bạn cần phải kiểm sốt Việc đó, ta nhờ tới phương thức seek Phương thức seek Cú pháp: .seek(offset, whence=0) Với Python 3.X Một text file sử dụng whence = whence = whence = sử dụng với binary file Với Python 2.X bạn khơng phải quan vấn đề Do đó, ta khơng cần quan tâm tới parameter whence Công dụng: Phương thức giúp ta di chuyển trỏ từ vị trí đầu file qua offset kí tự Và parameter offset phải số tự nhiên   Nhờ phương thức này, ta ghi nội dung từ đâu file Và từ ta đọc lại file sau ta đưa trỏ file xuống cuối file Ví dụ: >>> fobj = open('kteam.txt') >>> fobj.read() "How Kteam\nFree Education\n\nShare to better\n\nprint('hello world!')\n" >>> fobj.read() '' >>> fobj.seek(0) Copyright © Howkteam.com 13 | 15 KHÓA PYTHON CƠ BẢN HOWKTEAM.COM >>> fobj.read() "How Kteam\nFree Education\n\nShare to better\n\nprint('hello world!')\n" >>> fobj.seek(10) 10 >>> fobj.read() "\nFree Education\n\nShare to better\n\nprint('hello world!')\n" >>> fobj.close() Câu lệnh with Cấu trúc câu lệnh with with expression [as variable]: with-block Nhớ with-block nằm thụt vào so với dòng with expression (theo chuẩn PEP8 space dùng space không dùng tab) Câu lệnh liên quan đến phương thức enter exit đối tượng Do đó, Kteam nói sử dụng file Đặc điểm câu lệnh with sử dụng với file Khi kết thúc with-block File đóng >>> with open('kteam.txt') as fobj: data = fobj.read() Copyright © Howkteam.com 14 | 15 KHĨA PYTHON CƠ BẢN HOWKTEAM.COM >>> data "How Kteam\nFree Education\n\nShare to better\n\nprint('hello world!')\n" >>> fobj.read() # khơng thể đọc file, file đóng Traceback (most recent call last): File "", line 1, in ValueError: I/O operation on closed file Củng cố học Đáp án trước Bạn tìm thấy câu hỏi phần CÂU HỎI CỦNG CỐ KIỂU DỮ LIỆU DICT TRONG PYTHON – Phần Vì hai dict trỏ vào nơi Cách khắc phúc ta dùng phương thức copy để có dict1 Sẽ có lỗi >>> d = {} >>> d.update(3) Câu hỏi củng cố Nêu khác mode r+ w+ Tèo mở file mode vừa đọc ghi Tèo thắc mắc sau ghi xong rồi, mà Tèo khơng đọc Hãy giải đáp giúp Tèo >>> teo_file = open('teo.txt', 'w+') >>> teo_file.write('Teo dep trai\n') 13 >>> teo_file.read() Copyright © Howkteam.com 15 | 15 KHÓA PYTHON CƠ BẢN HOWKTEAM.COM '' Đáp án phần trình bày Tuy nhiên, Kteam khuyến khích bạn tự trả lời câu hỏi để củng cố kiến thức thực hành cách tốt nhất! Kết luận Qua viết này, Bạn hiểu FILE TRONG PYTHON Ở viết sau Kteam nói ITERATION & MỘT SỐ HÀM CƠ BẢN hay sử dụng Cảm ơn bạn theo dõi viết Hãy để lại bình luận góp ý để phát triển viết tốt Đừng quên “Luyện tập – Thử thách – Khơng ngại khó” Copyright © Howkteam.com ... Binary File   Các file xử lí ứng dụng biết hiểu cấu trúc file Và với mức độ xử lí text file Mở File Python Khỏi phải bàn, muốn thao tác với file, ta phải mở file Mà muốn mở file, ta cần phải có file. .. số file định lúc quên đóng file gây hao tốn Đặc biệt file với dung lượng bự Khi file mở, hệ điều hành khóa file lại, khơng cho chương trình khác xử lí file nhằm đảm bảo tính qn liệu Do close file. ..      Đóng File Python Đọc File Python Ghi File Python Kiểm soát trỏ File Câu lệnh with Khái quát File Python File thứ quen thuộc người sử dụng máy tính Bạn thao tác,tạo lập file ngày Nó hình,

Ngày đăng: 17/12/2021, 22:48