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

Chương này bao gồm tất cả các chức năng I/O cơ bản có sẵn trong Python. Để biết thêm các chức năng, vui lòng tham khảo tài liệu Python tiêu chuẩn

In ra màn hình

Cách đơn giản nhất để tạo đầu ra là sử dụng câu lệnh in trong đó bạn có thể chuyển 0 hoặc nhiều biểu thức được phân tách bằng dấu phẩy. Hàm này chuyển đổi các biểu thức bạn truyền vào thành một chuỗi và ghi kết quả vào đầu ra tiêu chuẩn như sau –

print ("Hey, How are you doing?")

Điều này tạo ra kết quả sau trên màn hình tiêu chuẩn của bạn -

Hey, How are you doing?

Đọc đầu vào bàn phím

Python cung cấp hai hàm tích hợp để đọc một dòng văn bản từ đầu vào tiêu chuẩn, theo mặc định đến từ bàn phím. Các chức năng này là -

  • đầu vào

    Chức năng đầu vào

    Hàm input([prompt]) tương đương với raw_input, ngoại trừ việc nó giả định đầu vào là một biểu thức Python hợp lệ và trả về kết quả đã đánh giá cho bạn

    str = input("Enter your Name: ")
    print ("Your Name is : ", str)

    Điều này sẽ tạo ra kết quả sau đối với đầu vào đã nhập -

    Enter your Name: prutor
    Your Name is :  prutor

    Mở và đóng tệp

    Cho đến bây giờ, bạn đã đọc và ghi vào đầu vào và đầu ra tiêu chuẩn. Bây giờ, chúng ta sẽ xem cách sử dụng các tệp dữ liệu thực tế
    Python cung cấp các hàm và phương thức cơ bản cần thiết để thao tác với tệp theo mặc định. Bạn có thể thực hiện hầu hết thao tác tệp bằng đối tượng tệp
    Quá trình đọc và ghi vào một tệp giống như tìm một cuốn sách và mở một cuốn sách
    Đầu tiên, tệp được định vị, mở đến trang đầu tiên, sau đó bắt đầu đọc/ghi cho đến khi đến
    phần cuối của tập tin

    Chức năng mở

  • open() trả về một đối tượng tệp và được sử dụng phổ biến nhất với hai đối số
    mở (tên tệp, chế độ)

    cú pháp

    def test_files_open():
    """Open files"""

    Dưới đây là chi tiết tham số -

  • Đối số đầu tiên là một chuỗi chứa tên tệp. Đối số thứ hai là một chuỗi khác chứa một vài ký tự mô tả cách sử dụng tệp. chế độ có thể được
    • 'r' khi tệp sẽ chỉ được đọc,
    • 'w' chỉ để ghi (tệp hiện có cùng tên sẽ bị xóa),
    • 'a' mở tệp để nối thêm;
    • 'r+' mở tệp cho cả đọc và viết
      Đối số chế độ là tùy chọn;
      Thông thường, các tệp được mở ở chế độ văn bản, nghĩa là bạn đọc và viết các chuỗi từ và đến
      tập tin, được mã hóa trong một mã hóa cụ thể. Nếu mã hóa không được chỉ định, mặc định là
      phụ thuộc vào nền tảng (xem open()). 'b' được thêm vào chế độ mở tệp ở chế độ nhị phân. Hiện nay
      dữ liệu được đọc và ghi dưới dạng các đối tượng byte. Chế độ này nên được sử dụng cho tất cả
      các tệp không chứa văn bản
      Ở chế độ văn bản, mặc định khi đọc là chuyển đổi phần cuối dòng dành riêng cho nền tảng (n trên
      Unix, rn trên Windows) thành n. Khi viết ở chế độ văn bản, mặc định là chuyển đổi
      lần xuất hiện của n quay lại kết thúc dòng dành riêng cho nền tảng. Sửa đổi hậu trường này
      để tệp dữ liệu là tốt cho các tệp văn bản, nhưng sẽ làm hỏng dữ liệu nhị phân như thế trong JPEG hoặc EXE
      các tập tin. Hãy thật cẩn thận khi sử dụng chế độ nhị phân khi đọc và ghi các tệp đó
      Nên sử dụng từ khóa with khi xử lý các đối tượng tệp. lợi thế là
      rằng tệp được đóng đúng cách sau khi bộ phần mềm của nó kết thúc, ngay cả khi một ngoại lệ được đưa ra tại
      một số điểm. Sử dụng với cũng ngắn hơn nhiều so với viết các khối thử cuối cùng tương đương.
      file = open("test.txt", "r")
      read_data = file.read()
      print(read_data)

      Thuộc tính đối tượng tệp

      Khi một tệp được mở và bạn có một đối tượng tệp, bạn có thể nhận được nhiều thông tin khác nhau liên quan đến tệp đó
      Đây là danh sách tất cả các thuộc tính liên quan đến đối tượng tệp -

      Sr. KHÔNG. Tệp thuộc tính và mô tả. đóng cửa

      Trả về true nếu tệp bị đóng, false nếu không

      2 tập tin. chế độ

      Trả về chế độ truy cập mà tệp đã được mở

      3 tập tin. Tên

      Trả về tên của tập tin

      4 tập tin. không gian mềm

      Trả về false nếu không gian được yêu cầu rõ ràng với chữ in, nếu không thì trả về true

      Ví dụ

      # Open a file
      file = open("test.txt", "r")
      print ("Name of the file: ", file.name)
      print ("Closed or not : ", file.closed)
      print ("Opening mode : ", file.mode)
      read_data = file.read()
      print(read_data)

      Điều này tạo ra kết quả sau -

      Name of the file:  test.txt
      Closed or not :  False
      Opening mode :  r
      'hello this is sample test file'

      Phương thức close()

      Phương thức close() của một đối tượng tệp xóa mọi thông tin chưa được ghi và đóng đối tượng tệp, sau đó không thể ghi thêm nữa
      Python tự động đóng tệp khi đối tượng tham chiếu của tệp được gán lại cho tệp khác. Đó là một cách thực hành tốt để sử dụng phương thức close() để đóng tệp

      cú pháp

      ________số 8_______

      Ví dụ

      file = open("test.txt", "r")
      print ("Name of the file: ", file.name)
      print ("Closed or not : ", file.closed)
      print ("Opening mode : ", file.mode)
      file.close()
      read_data = file.read()
      print(read_data)

      Điều này tạo ra kết quả sau -

      Hey, How are you doing?
      0

      Đọc và ghi tập tin

      Đối tượng tệp cung cấp một tập hợp các phương thức truy cập để giúp cuộc sống của chúng ta dễ dàng hơn. Chúng ta sẽ xem cách sử dụng các phương thức read() và write() để đọc và ghi tệp

      Phương thức write()

      Phương thức write() ghi bất kỳ chuỗi nào vào một tệp đang mở. Điều quan trọng cần lưu ý là chuỗi Python có thể có dữ liệu nhị phân chứ không chỉ văn bản
      Phương thức write() không thêm ký tự xuống dòng ('n') vào cuối chuỗi −

      cú pháp

      Hey, How are you doing?
      1

      Ở đây, tham số truyền vào là nội dung được ghi vào tệp đã mở

      Ví dụ

      Hey, How are you doing?
      2

      Phương pháp trên sẽ tạo ra bài kiểm tra. txt và sẽ ghi nội dung đã cho vào tệp đó và cuối cùng nó sẽ đóng tệp đó. Nếu bạn mở tệp này, nó sẽ có nội dung sau

      Hey, How are you doing?
      3

      Phương thức đọc()

      Phương thức read() đọc một chuỗi từ một tệp đang mở. Điều quan trọng cần lưu ý là chuỗi Python có thể có dữ liệu nhị phân. Ngoài dữ liệu văn bản

      cú pháp

      Hey, How are you doing?
      4

      Ở đây, tham số được truyền là số byte được đọc từ tệp đã mở. Phương pháp này bắt đầu đọc từ đầu tệp và nếu thiếu số lượng, thì nó sẽ cố đọc càng nhiều càng tốt, có thể cho đến cuối tệp

      Ví dụ

      Hãy làm một bài kiểm tra tập tin. txt mà chúng tôi đã tạo ở trên

      Hey, How are you doing?
      5

      Điều này tạo ra kết quả sau -

      Hey, How are you doing?
      3

      Vị trí tệp

      Phương thức tell() cho bạn biết vị trí hiện tại trong tệp;
      Phương thức seek(offset[, from]) thay đổi vị trí tệp hiện tại. Đối số offset cho biết số byte sẽ được di chuyển. Đối số from chỉ định vị trí tham chiếu từ nơi các byte sẽ được di chuyển
      Nếu từ được đặt thành 0, điều đó có nghĩa là sử dụng phần đầu của tệp làm vị trí tham chiếu và 1 có nghĩa là sử dụng vị trí hiện tại làm vị trí tham chiếu và nếu nó được đặt thành 2 thì phần cuối của tệp sẽ được lấy làm vị trí tham chiếu

      Ví dụ

      Hãy để chúng tôi kiểm tra tập tin. txt mà chúng tôi đã tạo ở trên

      Hey, How are you doing?
      7

      Điều này tạo ra kết quả sau -

      Hey, How are you doing?
      8

      Đổi tên và xóa tệp

      Mô-đun hệ điều hành Python cung cấp các phương thức giúp bạn thực hiện các thao tác xử lý tệp, chẳng hạn như đổi tên và xóa tệp
      Để sử dụng mô-đun này, trước tiên bạn cần nhập mô-đun này và sau đó bạn có thể gọi bất kỳ chức năng liên quan nào

      Phương thức đổi tên ()

      Phương thức rename() nhận hai đối số, tên tệp hiện tại và tên tệp mới

      cú pháp

      Hey, How are you doing?
      9

      Ví dụ

      Sau đây là ví dụ để đổi tên tệp hiện có test1. txt −

      str = input("Enter your Name: ")
      print ("Your Name is : ", str)
      0

      Chương trình này lưu trữ tên người dùng và mật khẩu của người dùng trong một tệp. Các tệp văn bản thuần túy chắc chắn không phải là cách tốt để lưu trữ tên người dùng và mật khẩu, nhưng đây chỉ là một ví dụ

      str = input("Enter your Name: ")
      print ("Your Name is : ", str)
      1

      Phương thức loại bỏ ()

      Bạn có thể sử dụng phương thức remove() để xóa tệp bằng cách cung cấp tên của tệp sẽ bị xóa làm đối số

      cú pháp

      str = input("Enter your Name: ")
      print ("Your Name is : ", str)
      2

      Ví dụ

      Sau đây là ví dụ để xóa một tập tin hiện có test2. txt −

      str = input("Enter your Name: ")
      print ("Your Name is : ", str)
      3

      Thư mục trong Python

      Tất cả các tệp được chứa trong các thư mục khác nhau và Python cũng không gặp vấn đề gì khi xử lý các tệp này. Mô-đun os có một số phương thức giúp bạn tạo, xóa và thay đổi thư mục

      Phương thức mkdir()

      Bạn có thể sử dụng phương thức mkdir() của mô-đun os để tạo các thư mục trong thư mục hiện tại. Bạn cần cung cấp một đối số cho phương thức này chứa tên của thư mục sẽ được tạo

      cú pháp

      str = input("Enter your Name: ")
      print ("Your Name is : ", str)
      4

      Ví dụ

      Sau đây là ví dụ để tạo một thư mục kiểm tra trong thư mục hiện tại -

      str = input("Enter your Name: ")
      print ("Your Name is : ", str)
      5

      Phương thức chdir()

      Bạn có thể sử dụng phương thức chdir() để thay đổi thư mục hiện tại. Phương thức chdir() nhận một đối số, là tên của thư mục mà bạn muốn tạo thư mục hiện tại

      cú pháp

      str = input("Enter your Name: ")
      print ("Your Name is : ", str)
      6

      Ví dụ

      Sau đây là ví dụ để vào thư mục "/home/newdir" −

      str = input("Enter your Name: ")
      print ("Your Name is : ", str)
      7

      Phương thức getcwd()

      Phương thức getcwd() hiển thị thư mục làm việc hiện tại

      cú pháp

      str = input("Enter your Name: ")
      print ("Your Name is : ", str)
      8

      Ví dụ

      Sau đây là ví dụ để cung cấp thư mục hiện tại -

      str = input("Enter your Name: ")
      print ("Your Name is : ", str)
      9

      Phương thức rmdir()

      Phương thức rmdir() xóa thư mục, được truyền dưới dạng đối số trong phương thức
      Trước khi xóa một thư mục, tất cả nội dung trong đó phải được xóa

      cú pháp

      Enter your Name: prutor
      Your Name is :  prutor
      0

      Ví dụ

      Sau đây là ví dụ để xóa thư mục "/tmp/test". Yêu cầu cung cấp tên đầy đủ của thư mục, nếu không nó sẽ tìm kiếm thư mục đó trong thư mục hiện tại

      Enter your Name: prutor
      Your Name is :  prutor
      1

      Phương pháp liên quan đến tệp và thư mục

      Có ba nguồn quan trọng, cung cấp nhiều phương thức tiện ích để xử lý và thao tác các tệp & thư mục trên hệ điều hành Windows và Unix. Chúng như sau -

      Việc sử dụng đố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.

      Đối tượng tệp còn được gọi là gì?

      Tệp đối tượng chứa các lệnh cấp thấp mà CPU có thể hiểu được. Đó là lý do tại sao nó còn được gọi là mã máy .

      Là một tập tin một đối tượng?

      Đối tượng Tệp KHÔNG phải là tệp thực tế . Nó không chứa dữ liệu mà tệp chứa. Nó là một đối tượng chứa các phương thức ảnh hưởng đến một tệp hoặc thư mục cụ thể. Nó hoạt động như một giao diện giữa chương trình và các chức năng của hệ điều hành thực hiện thao tác tệp thực tế.

      Tên của đối tượng tệp trong Python là gì?

      File_obj hay còn gọi là handle là biến để thêm đối tượng file. tên tệp. Tên tệp . cách thức. Để báo cho trình thông dịch biết tệp sẽ được sử dụng theo cách nào.