Có mở Đóng tệp Python không?

Giả sử bạn đang làm việc trên một tệp được lưu trên máy tính cá nhân của mình. Nếu bạn muốn thực hiện bất kỳ thao tác nào trên tệp đó như mở tệp, cập nhật tệp hoặc bất kỳ thao tác nào khác trên tệp đó, tất cả các thao tác đó đều có trong Xử lý tệp. Vì vậy, Xử lý tệp trong khoa học máy tính có nghĩa là làm việc với các tệp được lưu trữ trên đĩa. Điều này bao gồm tạo, xóa, mở hoặc đóng tệp và viết, đọc hoặc sửa đổi dữ liệu được lưu trữ trong các tệp đó

Nhu cầu xử lý tệp là gì?

Trong khoa học máy tính, chúng tôi có các chương trình để thực hiện tất cả các loại nhiệm vụ. Một chương trình có thể yêu cầu đọc dữ liệu từ đĩa và lưu trữ kết quả trên đĩa để sử dụng trong tương lai. Đây là lý do tại sao chúng ta cần xử lý tệp. Chẳng hạn, nếu bạn cần phân tích, xử lý và lưu trữ dữ liệu từ một trang web, thì trước tiên bạn cần loại bỏ [điều này có nghĩa là lấy tất cả dữ liệu được hiển thị trên trang web như văn bản và hình ảnh] dữ liệu và lưu trữ trên đĩa của bạn, sau đó . Điều này được thực hiện bởi vì việc cạo dữ liệu từ một trang web mỗi khi bạn cần là điều không mong muốn vì sẽ mất rất nhiều thời gian

Mở và đóng tệp bằng Python

Trong xử lý tệp, chúng tôi có hai loại tệp, một là tệp văn bản và loại khác là tệp nhị phân. Chúng ta có thể mở tệp trong python bằng chức năng mở

chức năng mở []

Hàm này nhận hai đối số. Đầu tiên là tên tệp cùng với đường dẫn đầy đủ của nó và cái còn lại là chế độ truy cập. Hàm này trả về một đối tượng tệp

cú pháp

Điểm quan trọng

  • Tệp và tập lệnh python phải nằm trong cùng một thư mục. Khác, bạn cần cung cấp đường dẫn đầy đủ của tệp
  • Theo mặc định, chế độ truy cập là chế độ đọc nếu bạn không chỉ định bất kỳ chế độ nào. Tất cả các chế độ truy cập mở tệp được mô tả bên dưới

Chế độ truy cập cho biết loại hoạt động có thể có trong tệp đã mở. Có nhiều chế độ khác nhau để chúng ta có thể mở một tệp. Hãy xem chúng

Không có nối tiếp. Chế độMô tả1. rMở tệp ở chế độ chỉ đọc. Con trỏ tệp nằm ở đầu tệp. Đây cũng là chế độ mặc định. 2. rbGiống như chế độ r, ngoại trừ điều này sẽ mở tệp ở chế độ nhị phân. 3. r+Mở tệp để đọc và ghi. Con trỏ ở đầu tệp. 4. rb+Tương tự như chế độ r+, ngoại trừ điều này, mở tệp ở chế độ nhị phân. 5. wMở tệp để ghi. Ghi đè lên tệp hiện có và nếu tệp không có thì tạo tệp mới. 6. wbGiống như chế độ w, ngoại trừ điều này sẽ mở tệp ở định dạng nhị phân. 7. w+Mở tệp cho cả đọc và ghi, phần còn lại giống như chế độ w. 8. wb+Giống như w+ ngoại trừ điều này sẽ mở tệp ở định dạng nhị phân. 9. aMở tệp để nối thêm. Nếu có tệp thì con trỏ ở cuối tệp, ngược lại nó tạo tệp mới để ghi. 10. abGiống như một chế độ, ngoại trừ điều này sẽ mở tệp ở định dạng nhị phân. 11. a+Mở tệp để nối thêm và đọc. Con trỏ tệp nằm ở cuối tệp nếu tệp tồn tại, ngược lại nó tạo tệp mới để đọc và ghi. 12. ab+Giống như chế độ a+, ngoại trừ điều này, mở tệp ở định dạng nhị phân

Ví dụ về mở và đóng tệp trong Python

Mã số

# When the file is in the same folder where the python script is present. Also access mode is 'r' which is read mode.
file = open['test.txt',mode='r']

# When the file is not in the same folder where the python script is present. In this case, the whole path of the file should be written.
file = open['D:/data/test.txt',mode='r']

Thực tế chung là đóng tệp đã mở vì tệp đã đóng sẽ giảm nguy cơ bị đọc hoặc cập nhật không chính đáng. Chúng ta có thể đóng tệp trong python bằng hàm close. Hãy thảo luận về nó

chức năng đóng []

Hàm này không nhận bất kỳ đối số nào và bạn có thể gọi trực tiếp hàm close[] bằng đối tượng tệp. Nó có thể được gọi nhiều lần, nhưng nếu bất kỳ thao tác nào được thực hiện trên tệp đã đóng, một ngoại lệ "ValueError" sẽ xuất hiện

cú pháp

Bạn cũng có thể sử dụng câu lệnh 'with' với open, vì nó cung cấp khả năng xử lý ngoại lệ tốt hơn và đơn giản hóa nó bằng cách cung cấp một số tác vụ dọn dẹp. Ngoài ra, nó sẽ tự động đóng tệp và bạn không phải thực hiện thủ công

Ví dụ sử dụng câu lệnh with

Mã số

with open["test.txt", mode='r'] as f:
   # perform file operations

Phương pháp hiển thị trong phần trên không hoàn toàn an toàn. Nếu một số ngoại lệ xảy ra trong khi mở tệp, thì mã sẽ thoát mà không đóng tệp. Một cách an toàn hơn là sử dụng khối lần thử cuối cùng trong khi mở tệp

Mã số

try:
    file = open['test.txt',mode='r']
    # Perform file handling operations
finally:
    file.close[]

Bây giờ, điều này đảm bảo rằng tệp sẽ đóng ngay cả khi có ngoại lệ xảy ra khi mở tệp. Vì vậy, bạn có thể sử dụng phương thức câu lệnh 'with' để thay thế. Bất kỳ phương pháp nào trong hai phương pháp đều tốt

Bây giờ chúng ta sẽ xem các ví dụ về cách mở và đóng tệp trong python ở nhiều chế độ khác nhau. Dưới đây là một ví dụ về một vài chế độ nghỉ ngơi quan trọng mà bạn có thể tự mình thử

Bây giờ chúng ta sẽ thực hiện một số thao tác trên tệp và in nội dung của tệp sau mỗi thao tác để hiểu rõ hơn về cách thức hoạt động của nó. Ví dụ được đưa ra dưới đây. Cả tệp và tập lệnh python phải nằm trong cùng một thư mục

Mã số

# Opening file in read mode and printing the contents of the file.
with open["test.txt", mode='r'] as f:
    data = f.readlines[] #This reads all the lines from the file in a list.
    print[data] #This will print the content of the Hello World file!

# Opening a file in write mode.
with open["test.txt", mode='w'] as f:
    f.write["Data after write operation"]
# Opening file in read mode to check the contents.
with open["test.txt", mode='r'] as f:
    data = f.readlines[] # this reads all the lines from the file in a list.
    print[data] #this will print the overwritten content of the file that is       "Data after write operation"

# Opening a file in append mode and appending data to the file.
with open["test.txt", "a"] as f:
    f.write[" Appending new data to the file"]
# Opening file in read mode to check the contents.
with open["test.txt", mode='r'] as f:
    data = f.readlines[] #This reads all the lines from the file in a list.
    print[data] #this will print the existing content of file plus the appended content

Giải trình

Trong ví dụ trên, lúc đầu thử nghiệm. txt được mở ở chế độ đọc [r] để đọc nội dung của nó và dữ liệu tệp đó sẽ được in và sau đó tệp đó được mở bằng chế độ ghi [w] để nó ghi đè lên tất cả nội dung của tệp đó và dữ liệu mới sẽ được . Sau khi tệp đó được mở ở chế độ append[a], do đó, dữ liệu mới sẽ được thêm vào dữ liệu hiện có của tệp và sẽ không bị ghi đè

Điều gì xảy ra khi bạn mở một tệp bằng Python?

Python có chức năng open[] tích hợp để mở tệp. Hàm này trả về một đối tượng tệp, còn được gọi là bộ điều khiển, vì nó được sử dụng để đọc hoặc sửa đổi tệp cho phù hợp . Chúng tôi có thể chỉ định chế độ trong khi mở tệp. Trong chế độ, chúng tôi chỉ định xem chúng tôi muốn đọc r , viết w hay nối a vào tệp.

Sự khác biệt giữa Python mở [] và đóng [] là gì?

Maths Crash Course - Bài giảng trực tiếp + tất cả video + Giải câu hỏi theo thời gian thực. . Sự khác biệt giữa mở [] và đóng [] là gì?

Chủ Đề