Đối tượng tệp mở trong Python là gì?

Làm việc với tệp là một trong những thao tác thường xuyên nhất mà các lập trình viên phải thực hiện, đặc biệt khi có nhiều thao tác tập trung vào dữ liệu liên quan. Xoay quanh các tệp như tệp văn bản, tập lệnh nhị phân, trang tính excel, v.v., là một số trường hợp sử dụng phổ biến. Mặc dù có các thư viện nâng cao để làm việc với các trang tính Excel và tệp CSV chứa một lượng dữ liệu khổng lồ, nhưng nếu bạn muốn làm việc với các tệp chứa dữ liệu tương đối ít hơn, bạn chỉ cần sử dụng một trong nhiều phương pháp tích hợp do Python cung cấp để .  

Trong bài viết này, bạn sẽ học cách mở một tệp bằng Python. Nhưng trước khi tiếp tục khám phá các phương pháp này, bạn cần hiểu các loại tệp khác nhau mà Python cho phép bạn làm việc và các chế độ có thể được sử dụng để truy cập chúng. Vì vậy, không cần phải quảng cáo thêm, hãy bắt đầu

Các loại tệp

Về cơ bản, Python cho phép bạn làm việc với hai loại tệp sau. Tệp đầu tiên là một tệp văn bản thuần túy và đơn giản mà bạn sử dụng hàng ngày và tệp thứ hai là tệp nhị phân chỉ máy mới hiểu được, bao gồm các số 0 và 1

  • tệp văn bản. Tệp văn bản chứa các ký tự Unicode và có phần mở rộng là. txt. Mỗi dòng trong tệp văn bản được kết thúc bởi một EOL được gọi là ký tự Cuối dòng, ký tự này không có gì khác ngoài ký tự xuống dòng (\n). Điều này cho phép bạn tách biệt các dòng cụ thể
  • tập tin nhị phân. Đây là sự kết hợp của 0 và 1. Không giống như các tệp văn bản, không có dấu kết thúc dòng ở đây. Trình thông dịch Python trước tiên chuyển đổi các số 0 và 1 thành ngôn ngữ mà máy có thể hiểu được, sau đó lưu trữ dữ liệu tương ứng

khóa học miễn phí. Lập trình với Python

Tìm hiểu kiến ​​thức cơ bản về lập trình với Python Đăng ký ngay

Đối tượng tệp mở trong Python là gì?

Mở một tệp

Như đã thảo luận trước đó, bạn có thể muốn làm việc với các tệp và thao tác với chúng trong tập lệnh Python. Giả sử bạn muốn sử dụng một bộ dữ liệu cụ thể được lưu trữ trong tệp văn bản và bạn cần thực hiện một số thao tác trên đó hoặc lọc nó. Trong trường hợp như vậy, trước tiên nó sẽ yêu cầu bạn mở tệp, thực hiện các thay đổi cần thiết hoặc chỉ cần truy cập dữ liệu rồi đóng tệp. Đây chính xác là cách bạn sẽ làm bằng cách sử dụng trình quản lý tệp GUI. Và điều tương tự cũng xảy ra với các câu lệnh Python

Python có một phương thức dựng sẵn gọi là open() cho phép bạn mở tệp và tạo đối tượng tệp. Cú pháp chung của phương thức open() là -

FileObject = open(r"Tên của tệp", "Chế độ truy cập và loại tệp")

Bạn không cần nhập gói hoặc thư viện để sử dụng phương pháp này. Có hai tham số mà bạn cần cung cấp cùng với lệnh.  

  • Tên của tệp

Tại đây, bạn có thể chỉ bao gồm tên tệp hoặc toàn bộ đường dẫn của tệp. Nếu bạn chỉ bao gồm tên của tệp, bạn cần đảm bảo rằng tập lệnh Python và tệp văn bản nằm trong cùng một thư mục. Tuy nhiên, nếu bạn muốn bao gồm đường dẫn của tệp, bạn cần đảm bảo rằng bạn đã bao gồm ký tự 'r' trước đường dẫn tệp. Điều này đảm bảo rằng trình thông dịch coi đường dẫn tệp là một chuỗi thô. Ví dụ: nếu đường dẫn tệp chứa thư mục có tên \temp, thì trình thông dịch sẽ đưa ra lỗi vì nó sẽ đọc \t dưới dạng một ký tự đặc biệt có tên là tab

  • Chế độ truy cập

Tại đây, bạn cần xác định chế độ truy cập bạn muốn cấp cho tệp và loại tệp bạn muốn mở. Python cho phép bạn đọc, viết và thêm vào một tệp. Các chữ cái r, w và a. biểu thị những Cùng với đó, bạn có thể cung cấp loại tệp. Đối với tệp văn bản, bạn có thể bao gồm chữ 't' và đối với tệp nhị phân, bạn có thể bao gồm chữ 'b'. Nếu bạn không cung cấp loại tệp, theo mặc định, nó sẽ hiểu rằng bạn đã cung cấp tệp văn bản. Do đó, nếu bạn muốn cấp quyền ghi vào tệp nhị phân, tham số sẽ là “wb”

Ngoài ra, còn có các biến thể khác nhau của từng chế độ. Hãy thảo luận về tất cả chúng

Chế độ truy cập

Sử dụng

'x'

Nó được sử dụng để tạo một tệp mới trống

'r'

Nó được sử dụng để mở tệp ở chế độ chỉ đọc. Hơn nữa, tệp phải tồn tại trước khi bạn sử dụng chế độ này

'w'

Nó được sử dụng để mở tệp ở chế độ chỉ ghi. Nếu tệp đã tồn tại, tệp sẽ bị cắt bớt thành 0 ký tự hoặc bị ghi đè bởi nội dung bạn cung cấp. Nếu nó không tồn tại, thì nó được tạo ra

'Một'

Nó cũng được sử dụng để mở tệp ở chế độ chỉ ghi. Nếu tệp đã tồn tại, nó vẫn còn nguyên vẹn và nội dung được thêm vào cuối. Nhưng nếu tệp không tồn tại, nó sẽ được tạo

'r+'

Nó được sử dụng để mở tệp cho cả đọc và ghi và tệp phải tồn tại

'w+'

Nó cũng được sử dụng để mở tệp cho cả đọc và ghi. Nếu nó đã tồn tại, thì nó sẽ bị cắt bớt hoặc ghi đè. Nếu nó không tồn tại, nó sẽ được tạo ra

'a+'

Nó cũng được sử dụng để mở tệp cho cả đọc và ghi. Sự khác biệt duy nhất là nếu tệp đã tồn tại, nội dung sẽ được thêm vào cuối. Nếu không, sau đó nó được tạo ra

Khóa đào tạo Python

Tìm hiểu về thao tác dữ liệu trong Python Khám phá khóa học

Đối tượng tệp mở trong Python là gì?

Nói chung, các chế độ truy cập cũng xác định vị trí của xử lý tệp. Xử lý tệp giống như vị trí con trỏ trong tệp. Tùy thuộc vào chế độ truy cập, vị trí của xử lý tệp được xác định. Ví dụ: ở chế độ chắp thêm, phần xử lý tệp nằm ở cuối tệp. Và ở chế độ đọc, phần xử lý tệp nằm ở đầu tệp

Tiếp theo, hãy xem xét đoạn mã dưới đây

myfile1 = open("simplilearn. txt", "w")

myfile2 = open(r"/home/jarvis/Documents/simplilearn. txt", "r+")

Ở đây, bạn đã tạo hai đối tượng tệp cho cùng một tệp. Cái đầu tiên là sử dụng trực tiếp tên tệp. Điều này sẽ không gây ra lỗi vì tệp văn bản và tập lệnh Python nằm trong cùng một thư mục. Việc tiếp theo là bằng cách cung cấp đường dẫn tệp. Bạn cần sử dụng ký tự r ở đầu để trình thông dịch đọc đường dẫn dưới dạng chuỗi thô

Hãy sử dụng phương thức mở với các chế độ truy cập khác nhau

Hãy thử đọc nội dung của một tệp vào một đối tượng tệp và in nó

myfile1 = open("simplilearn. txt", "r")

in(myfile1. đọc())

myfile1. đóng()

Ở đây, bạn đã sử dụng phương thức mở và cung cấp tên của tệp cùng với chế độ truy cập đọc. Tiếp theo, bạn đã gọi phương thức read() trên đối tượng tệp và in nội dung của nó. Sau đó, bạn đóng đối tượng tệp để tránh lãng phí bộ nhớ và tài nguyên

Đối tượng tệp mở trong Python là gì?

Bạn có thể ghi vào một tệp bằng hai phương thức khác nhau - write() và writelines(). Phương thức write() đơn giản viết một chuỗi thành một dòng mới. Phương thức writelines lấy danh sách các chuỗi và ghi chúng vào tệp. Hãy xem một ví dụ cho cả hai

inputList = ["Xin chào và Chào mừng đến với Simplilearn \n", "Chúng tôi có rất nhiều khóa học miễn phí và trả phí dành cho bạn\n"]

inputString = "Xin chào và Chào mừng\n"

myfile1 = open("simplilearn. txt", "w")

myfile1. ghi (chuỗi đầu vào)

myfile1. đóng()

print("Dùng phương thức ghi. ")

myfile1 = open("simplilearn. txt", "r")

in(myfile1. đọc())

myfile1. đóng()

myfile2 = open("simplilearn. txt", "w")

myfile2. dòng ghi (inputList)

myfile2. Thoát()

print("Dùng phương thức writelines. ")

myfile2 = open("simplilearn. txt", "r")

in (myfile2. đọc())

myfile2. Thoát()

Ở đây, bạn đã thấy việc tạo một danh sách các chuỗi và một chuỗi đơn giản. Đầu tiên, bạn đã mở một đối tượng tệp ở chế độ ghi và sử dụng phương thức ghi để ghi chuỗi đơn giản vào tệp, sau đó đóng nó bằng phương thức đóng trên đối tượng tệp. Sau đó, bạn đã mở đối tượng tệp ở chế độ đọc và in nội dung mà bạn vừa viết bằng phương thức ghi và đóng đối tượng lại. Bạn đã làm tương tự cho phương thức writelines tiếp theo. Hãy kiểm tra đầu ra của chương trình

Đối tượng tệp mở trong Python là gì?

Để tạo mã sạch hơn, trực quan và hiệu quả hơn, bạn có thể sử dụng câu lệnh 'with'. Nếu bạn sử dụng câu lệnh with, bạn không cần đóng đối tượng tệp. Nó tự động xử lý việc phân bổ tài nguyên và giải phóng không gian cũng như tài nguyên sau khi bạn rời khỏi khối with. Cú pháp chung là -

with open as  file

Hãy hiểu điều này với sự giúp đỡ của một ví dụ

inputList = ["Xin chào và Chào mừng đến với Simplilearn \n", "Chúng tôi có rất nhiều khóa học miễn phí và trả phí dành cho bạn\n"]

với open("simplilearn. txt", "w") dưới dạng tệp tin của tôi

tập tin của tôi. dòng ghi (inputList)

với open("simplilearn. txt", "r") dưới dạng tệp tin của tôi

in (tệp của tôi. đọc())

Ở đây, trong khối with đầu tiên, bạn đã mở một tệp ở chế độ ghi và chèn một vài câu bằng phương thức writelines. Trong khối with tiếp theo, bạn đã mở nó ở chế độ đọc và in nội dung. Bạn không cần phải gọi một phương thức đóng trên các đối tượng tệp vì các câu lệnh with sẽ tự động xử lý nó

Đối tượng tệp mở trong Python là gì?

Mong muốn chuyển sang lĩnh vực lập trình?

kết thúc

Tóm lại, trong bài viết này, bạn đã biết cách mở tệp bằng Python và tại sao cần phải làm như vậy ngay từ đầu. Bạn đã lướt qua các loại tệp khác nhau, chế độ truy cập và cách mở tệp bằng phương thức dựng sẵn open(). Bạn cũng đã biết cách sử dụng các chế độ đọc, viết và nối thêm, và cuối cùng, bạn đã khám phá cách tận dụng câu lệnh 'with' để tạo mã hiệu quả hơn và dễ đọc hơn

Nếu bạn đang muốn nắm vững ngôn ngữ python và trở thành một nhà phát triển Python chuyên nghiệp, thì Khóa học cấp chứng chỉ Python của Simplilearn là lựa chọn lý tưởng dành cho bạn. Được cung cấp bởi các giảng viên đẳng cấp thế giới, khóa học cấp chứng chỉ toàn diện này sẽ không chỉ bao gồm kiến ​​thức cơ bản về Python mà còn cung cấp cho bạn chuyên môn sâu trong các lĩnh vực chính như triển khai các câu lệnh có điều kiện, xử lý hoạt động dữ liệu, Django và shell scripting

Bạn có câu hỏi nào cho chúng tôi về cách mở tệp trong bài viết Python không?

học tập vui vẻ

Giới thiệu về tác giả

Đối tượng tệp mở trong Python là gì?
Ravikiran AS

Ravikiran A S làm việc với Simplilearn với tư cách là Nhà phân tích nghiên cứu. Anh ấy là một người đam mê nhiệt tình, luôn săn lùng những công nghệ mới nhất. Anh ấy thành thạo Ngôn ngữ lập trình Java, Dữ liệu lớn và các Khung dữ liệu lớn mạnh mẽ như Apache Hadoop và Apache Spark

Đối tượng tệp đang mở là gì?

Đối tượng OpenFile quản lý chi tiết truy cập nội dung của một tệp cụ thể . Mở tệp để truy cập trả về một con trỏ tới đối tượng OpenFile có thể được sử dụng trong các thao tác đọc và ghi tiếp theo.

Tệp mở trong Python là gì?

Hàm chính để làm việc với tệp trong Python là hàm open() . Hàm open() nhận hai tham số; . Có bốn phương pháp (chế độ) khác nhau để mở tệp. "r" - Đọc - Giá trị mặc định. Mở tệp để đọc, báo lỗi nếu tệp không tồn tại.

Đối tượng tệp trong Python là gì?

Đối tượng tệp là gì? . Sử dụng các đối tượng tệp, chúng ta có thể đọc hoặc ghi bất kỳ tệp nào. Bất cứ khi nào chúng ta mở một tệp để thực hiện bất kỳ thao tác nào trên tệp đó, Python sẽ trả về một đối tượng tệp. provides methods and attributes to access and manipulate files. Using file objects, we can read or write any files. Whenever we open a file to perform any operations on it, Python returns a file object.

Mục đích của đối tượng tệp là gì?

Các đối tượng tệp hoạt động như giao diện logic giữa nhân và các quy trình ở chế độ người dùng và dữ liệu tệp nằm trên đĩa vật lý . Một đối tượng tệp chứa cả dữ liệu được ghi vào tệp và tập hợp các thuộc tính do nhân duy trì sau đây.