CodeGym /Khóa học Java /Python SELF VI /Làm việc với tập tin

Làm việc với tập tin

Python SELF VI
Mức độ , Bài học
Có sẵn

1.1 Mở tập tin

Làm việc với tập tin trong Python thực sự rất thú vị, vì quá trình này khá đơn giản và dễ hiểu. Chúng ta không nói về việc tạo hoặc di chuyển tập tin trên ổ đĩa, mà đang nói về việc đọc và ghi nội dung tập tin.

Làm việc với nội dung tập tin thường diễn ra theo sơ đồ sau:


Mở tập tin 
Làm việc với dữ liệu từ tập tin
Đóng tập tin

Ví dụ đọc toàn bộ nội dung tập tin:


file = open('example.txt', 'r')
content = file.read()
print(content)
file.close()

Hàm open được sử dụng để mở tập tin. Nó nhận hai đối số chính: tên tập tinchế độ truy cập. Hàm trả về một đối tượng tập tin, mà sau đó có thể được sử dụng để thực hiện các thao tác đọc và ghi.

Ví dụ:


file = open('example.txt', 'r')

Nếu chỉ có tên tập tin được chỉ định, nó sẽ được tìm kiếm trong thư mục làm việc hiện tại của chương trình. Nếu chỉ định tên tập tin đầy đủ, nó sẽ được truy cập theo đường dẫn đó.

1.2 Chế độ truy cập

Tham số thứ hai trong hàm open() đại diện cho chế độ làm việc với tập tin. Chế độ truy cập xác định những thao tác có thể thực hiện với tập tin (đọc, ghi, v.v.).

Đây là các chế độ truy cập cơ bản:

  • Read — đọc.
  • Write — ghi.
  • Append — thêm.

Có một số biến thể của các chế độ này:

  • 'r': Mở tập tin để đọc (chế độ mặc định). Tập tin phải tồn tại.
  • 'w': Mở tập tin để ghi. Nội dung tập tin sẽ bị xóa. Nếu tập tin không tồn tại, nó sẽ được tạo.
  • 'a': Mở tập tin để thêm. Dữ liệu sẽ được thêm vào cuối tập tin. Nếu tập tin không tồn tại, nó sẽ được tạo.
  • 'r+': Mở tập tin để đọc và ghi. Tập tin phải tồn tại.
  • 'w+': Mở tập tin để đọc và ghi. Nội dung tập tin sẽ bị xóa. Nếu tập tin không tồn tại, nó sẽ được tạo.
  • 'a+': Mở tập tin để đọc và thêm. Dữ liệu sẽ được thêm vào cuối tập tin. Nếu tập tin không tồn tại, nó sẽ được tạo.

Ví dụ ghi vào tập tin:

Nếu bạn muốn ghi dữ liệu vào tập tin, chỉ cần chỉ định w làm chế độ truy cập khi mở tập tin. Chú ý rằng toàn bộ nội dung cũ của tập tin sẽ bị xóa!


file = open('example.txt', 'w')
file.write("Hello, World!")
file.close()

Ví dụ thêm vào tập tin:

Nếu bạn không muốn xóa nội dung tập tin, mà chỉ muốn thêm vào cuối, bạn cần chỉ định a làm chế độ truy cập cho tập tin.


file = open('example.txt', 'a')
file.write("\nAppended text.")
file.close()

Quan trọng! Nếu bạn ghi vào tập tin và nó chưa tồn tại, thì nó sẽ được tạo tự động. Nhưng nếu bạn cố gắng đọc dữ liệu từ một tập tin không tồn tại, sẽ xảy ra ngoại lệ.

1.3 Đóng tập tin

Mỗi khi bạn mở tập tin, hệ điều hành sẽ kiểm tra quyền truy cập của bạn đối với tập tin đó và đánh dấu nó đang được chương trình của bạn sử dụng. Một tài nguyên đặc biệt được phân bổ cho việc làm việc với tập tin — handler.

Số lượng handler mà chương trình của bạn có thể nhận được là giới hạn. Điều này có nghĩa là bạn chỉ có thể giữ mở vài trăm tập tin cùng lúc. Nghe có vẻ nhiều, nhưng nếu chương trình của bạn chạy trên máy chủ hàng tháng và mỗi ngày nó làm gì đó với tập tin thì giới hạn này có thể đạt được rất nhanh.

Vì vậy, sau khi bạn hoàn thành công việc với tập tin, bạn cần đóng nó — gọi phương thức close(). Bằng cách này bạn thông báo cho hệ điều hành rằng bạn không cần tập tin này nữa và handler của nó không còn cần thiết.

Đóng tập tin

Sau khi hoàn thành công việc với tập tin, cần đóng nó để giải phóng tài nguyên hệ thống. Để làm điều này, sử dụng phương thức close().


file = open('example.txt', 'r')
# Thực hiện các thao tác với tập tin
file.close()

Mỗi tập tin mà bạn đã mở để đọc hoặc ghi đều cần phải được đóng lại. Đừng quên gọi phương thức close().

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION