Hàm mở file trong python
Show
Cùng tìm hiểu về cách mở file và đóng file trong Python. Bạn sẽ học được cách mở một file trong Python bằng hàm open và câu lệnh with, cũng như cách đóng file trong Python bằng phương thức close() sau bài học này. Chúng ta có 2 phương pháp để mở file trong Python như sau:
Và chúng ta dùng phương thức close() trong Python để đóng một file, sau khi đã hoàn thành các xử lý với nó. Mở file trong python bằng hàm open()Hàm open trong PythonHàm open() là một hàm cài sẵn có tác dụng mở file trong python. Đây là một hàm không thể thiếu khi chúng ta muốn thao tác xử lý với file trong Python. Chúng ta sử dụng hàm open() với cú pháp tổng quát sau đây: open ( filepath, mode=’r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=Non ) Tuy nhiên thông thường chúng ta sẽ lược bỏ phần lớn đối số và dùng hàm open() với cú pháp rút gọn sau đây: open ( filepath, mode, encoding=None) Trong đó:
Nếu file mở thành công, một file object (đối tượng để xử lý file ) với mode được chỉ định sẽ được tạo ra. Nếu mở file không thành công, lỗi OSError sẽ được trả về. Ví dụ cụ thể, chúng ta có thể mở file f0 = open('myfile.txt') Đường dẫn file trong python sử dụng khi mở fileKhi mở một file, chúng ta cần chỉ định đường dẫn file đó. Có hai loại đường dẫn file trong python là đường dẫn tương đối và đường dẫn tuyệt đối.
Khi mở một file trong python, bạn có thể sử dụng cả hai loại đường dẫn ở trên để chỉ định vị trí của file đó trong thư mục máy tính của bạn. Các mode để mở file trong CKhi mở file, chúng ta cần chỉ định mode-chế độ mở file. Chúng ta có thể sử dụng một trong các mode trong bảng mode xử lý file python dưới đây:
Về mặc định thì file trong python được mở với Mã ký tự sử dụng khi mở fileĐối sốencoding được sử dụng để chỉ định mã ký tự sử dụng khi mở file trong python. Lưu ý là chỉ định này chỉ dùng được khi chúng ta đọc file txt trong python mà thôi. Bảng dưới đây là các bảng mã ký tự mà bạn có thể chỉ định khi mở file txt trong python. ascii Trong trường hợp bạn lược bỏ đi đối số endcoding thì python sẽ sử dụng mã ký tự đang được sử dụng trên máy tính của bạn để mở file trong python. Bạn có thể kiểm tra mã ký tự đang được sử dụng trên máy tính của mình bằng cách chạy các dòng code sau đây trên flatform chạy python của mình, ví dụ như Anaconda Prompt: import locale Do máy tính của Kiyoshi đang sử dụng hệ điều hành với ngôn ngữ chính là tiếng Nhật nên mã ký tự mặc định sẽ là Class của file object trong pythonSau khi mở thành công một file trong python, một file object tương ứng với file đó sẽ được tạo ra. Class của file object này sẽ tùy thuộc vào mode mở file mà bạn đã sử dụng, giống như bảng đối ứng mode và file object sau đây:
Từ bảng trên chúng ta có thể tổng quát, class của object file trong Chế độ văn bản sẽ là io.TextIOWrapper , trong Chế độ nhị phân sẽ là io.BufferedReader, trong mode viết là io.BufferedReader, và trong mode đọc viết sẽ là io.BufferedRandom. Mở file trong python bằng câu lệnh withNgoài hàm open thì bạn cũng có thể mở file trong python bằng cách sử dụng câu lệnh with kết hợp hàm open với cú pháp sau đây: with open(filepath, mode, encoding=None) as f: Trong đó Ví dụ: ```python Về class của object file khi được mở bởi câu lệnh with, thì bạn lưu ý là class này luôn là io.TextIOWrapper, như ví dụ sau: path= "src/test.txt" Sự khác biệt giữa mở file bằng hàm open và bằng câu lệnh withChúng ta đều có thể sử dụng hàm open lẫn câu lệnh with để mở file trong C. Việc lựa chọn phương pháp nào thì tuỳ theo sở thích của mỗi lập trình viên, tuy nhiên thì hai phương pháp này cũng có điểm khác biệt, đó chính là trong cách đóng lại file sau khi mở. Với file được mở bằng hàm open, chúng ta phải đóng lại file đó sau khi đã mở và thao tác xong với file. Tuy nhiên thì đối với file được mở bằng câu lệnh with, chúng ta không cần phải đóng lại file sau khi mở, vì câu lệnh with vốn tự động đóng lại file cho chúng ta rồi. Xử lý lỗi khi mở file trong PythonChúng ta có thể sử dụng một trong hai phương pháp mà Kiyoshi đã giới thiệu ở trên để mở một file trong Python, nhưng trong quá trình mở có thể gặp một số lỗi nào đó, dẫn dến việc không phải lúc nào bạn cũng có thể mở file đó thành công. Sẽ tất nguy hiểm khi thực hiện quá trình thao tác với một tập tin mà không thể mở được, do đó thay vì để chương trình tiếp tục chạy như cũ thì chúng ta cần phải thiết kế các xử lý để chương trình tự xử lý lỗi, và chạy chương trình một cách chính xác. Nếu không thể mở file chính xác, lỗi OSError sẽ bị trả về. Ứng bạn có thể sử dụng điều này, chúng ta có thể phán đoán khi nào thì đã mở file thất bại, và xử lý lỗi khi cần. Trong Python, để xử lý lỗi chúng ta hay sử dụng tới lệnh try…catch. Và ứng dụng lệnh này, chúng ta có thể viết chương trình xử lý lỗi khi mở file trong Python như sau: import sys Lưu ý, Đóng file trong python bằng phương thức close()Sau khi đã xử lý xong file trong chương trình, chúng ta cần phải đóng file đó lại. Việc đóng file sẽ giúp kết thúc phiên làm việc với file, và giải phóng bộ nhớ. Nếu không đóng file thì file đó vẫn tồn tại trên bộ nhớ, dẫn đến xảy ra các sự cố về bộ nhớ trong chương trình. Để đóng một file trong Python, chúng ta cần dùng đến phương thức close() với cú pháp sau đây: f.close() Trong đó Ví dụ cụ thể, chúng ta đóng một file sau khi đã mở nó bằng phương thức close() như sau: f = open('myfile.txt', 'r') Lưu ý, nếu bạn mở file bằng lệnh with thì file sẽ tự động đóng lại sau khi thực hiện hết các lệnh trong khối tạo ra bởi with, do đó bạn không cần dùng tới lệnh đóng file trong trường hợp này. Ví dụ, sau khi mở file và thực hiện xong các câu lệnh trong khối with, file sẽ tự đóng lại như sau nên chúng ta không cần đóng file: with open(path) as f: Chương trình mở file và đóng file trong PythonGiả sử chúng ta có một file Chúng ta tiến hành mở file, thao tác và đóng file lại bằng hàm open() như sau: path= "src/test.txt" Bạn cũng có thể làm tương tự bằng lệnh with như sau: path= "src/test.txt" Sau khi mở file thành công, một file object với tên Tổng kếtTrên đây Kiyoshi đã hướng dẫn bạn về cách mở file và đóng file trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé. Và hãy cùng tìm hiểu các kiến thức về Python trong các bài viết sau. URL Linkhttps://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/xu-ly-file-trong-python/mo-file-dong-file-trong-python/ Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam! HOME › python cơ bản - lập trình python cho người mới bắt đầu>>16. xử lý file trong python Bài sauĐồng hồ bấm giờ python Bài tiếpĐọc file trong python |