Tệp đã đọc () trong Python là gì?

Nếu chương trình và tệp nằm trong cùng một thư mục, bạn chỉ cần chỉ định tên tệp của tệp. Nếu không, bạn cần bao gồm đường dẫn đến tệp cũng như tên tệp

Để chỉ định đường dẫn đến tệp, bạn sử dụng dấu gạch chéo lên (_______0_______2) ngay cả khi bạn đang làm việc trên Windows

Ví dụ, nếu tệp

open(path_to_file, mode)

Code language: Python (python)
4 được lưu trong thư mục

f = open('the-zen-of-python.txt','r')

Code language: Python (python)
4 như chương trình, bạn cần chỉ định đường dẫn đến tệp là

f = open('the-zen-of-python.txt','r')

Code language: Python (python)
5

f = open('the-zen-of-python.txt','r')

Code language: Python (python)
6 là một tham số tùy chọn. Đó là một chuỗi chỉ định chế độ mà bạn muốn mở tệp. Bảng sau đây hiển thị các chế độ khả dụng để mở tệp văn bản

Chế độ Mô tả

f = open('the-zen-of-python.txt','r')

Code language: Python (python)
7Mở tệp văn bản để đọc văn bản

f = open('the-zen-of-python.txt','r')

Code language: Python (python)
8Mở tệp văn bản để viết văn bản

f = open('the-zen-of-python.txt','r')

Code language: Python (python)
9Mở tệp văn bản để nối thêm văn bản

Ví dụ, để mở một tệp có tên là

f.close()

Code language: Python (python)
0 được lưu trữ trong cùng thư mục với chương trình, bạn sử dụng đoạn mã sau

f = open('the-zen-of-python.txt','r')

Code language: Python (python)

Hàm

open(path_to_file, mode)

Code language: Python (python)
5 trả về một đối tượng tệp mà bạn sẽ sử dụng để đọc văn bản từ tệp văn bản

2) Phương pháp đọc văn bản

Đối tượng tệp cung cấp cho bạn ba phương thức để đọc văn bản từ tệp văn bản

  • f.close()

    Code language: Python (python)
    2 – đọc một số nội dung của tệp dựa trên kích thước tùy chọn và trả về nội dung dưới dạng chuỗi. Nếu bạn bỏ qua kích thước, phương thức

    open(path_to_file, mode)

    Code language: Python (python)
    6 sẽ đọc từ nơi nó dừng lại cho đến hết tệp. Nếu đã đến cuối tệp, phương thức

    open(path_to_file, mode)

    Code language: Python (python)
    6 trả về một chuỗi trống
  • open(path_to_file, mode)

    Code language: Python (python)
    7 – đọc một dòng từ tệp văn bản và trả về dòng đó dưới dạng chuỗi. Nếu đã đến cuối tệp, thì hàm

    open(path_to_file, mode)

    Code language: Python (python)
    7 trả về một chuỗi trống
  • open(path_to_file, mode)

    Code language: Python (python)
    8 – đọc tất cả các dòng của tệp văn bản thành một danh sách các chuỗi. Phương pháp này hữu ích nếu bạn có một tệp nhỏ và bạn muốn thao tác với toàn bộ văn bản của tệp đó

3) phương thức close()

Tệp mà bạn mở sẽ vẫn mở cho đến khi bạn đóng tệp bằng phương pháp

open(path_to_file, mode)

Code language: Python (python)
9

Điều quan trọng là phải đóng tệp không còn được sử dụng vì những lý do sau

  • Đầu tiên, khi bạn mở một tệp trong tập lệnh của mình, hệ thống tệp thường khóa tệp đó lại để không chương trình hoặc tập lệnh nào khác có thể sử dụng tệp đó cho đến khi bạn đóng tệp đó
  • Thứ hai, hệ thống tệp của bạn có một số bộ mô tả tệp giới hạn mà bạn có thể tạo trước khi hết chúng. Mặc dù con số này có thể cao, nhưng có thể mở nhiều tệp và làm cạn kiệt tài nguyên hệ thống tệp của bạn
  • Thứ ba, để mở nhiều tệp có thể dẫn đến tình trạng chạy đua xảy ra khi nhiều quy trình cố gắng sửa đổi một tệp cùng lúc và có thể gây ra tất cả các loại hành vi không mong muốn

Sau đây trình bày cách gọi phương thức

open(path_to_file, mode)

Code language: Python (python)
9 để đóng tệp

________số 8_______

Để đóng file tự động mà không cần gọi phương thức

open(path_to_file, mode)

Code language: Python (python)
9, bạn sử dụng câu lệnh

with open(path_to_file) as f: contents = f.readlines()

Code language: Python (python)
1 như thế này

with open(path_to_file) as f: contents = f.readlines()

Code language: Python (python)

Trong thực tế, bạn sẽ sử dụng câu lệnh

with open(path_to_file) as f: contents = f.readlines()

Code language: Python (python)
1 để đóng tệp tự động

Đọc ví dụ về tệp văn bản

Chúng tôi sẽ sử dụng-zen-of-python. txt để trình diễn

Ví dụ sau minh họa cách sử dụng phương thức

open(path_to_file, mode)

Code language: Python (python)
6 để đọc tất cả nội dung của tệp

f.close()

Code language: Python (python)
0 thành một chuỗi

with open('the-zen-of-python.txt') as f: contents = f.read() print(contents)

Code language: Python (python)

đầu ra

Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. ...

Code language: Python (python)

Ví dụ sau sử dụng phương thức

open(path_to_file, mode)

Code language: Python (python)
8 để đọc tệp văn bản và trả về nội dung tệp dưới dạng danh sách các chuỗi

with open('the-zen-of-python.txt') as f: [print(line) for line in f.readlines()]

Code language: Python (python)

đầu ra

Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. ...

Code language: Python (python)

Lý do bạn thấy một dòng trống sau mỗi dòng từ một tệp là vì mỗi dòng trong tệp văn bản có một ký tự xuống dòng (\n). Để xóa dòng trống, bạn có thể sử dụng phương thức

with open(path_to_file) as f: contents = f.readlines()

Code language: Python (python)
6. Ví dụ

with open('the-zen-of-python.txt') as f: [print(line.strip()) for line in f.readlines()]

Code language: Python (python)

Ví dụ sau đây cho thấy cách sử dụng

open(path_to_file, mode)

Code language: Python (python)
7 để đọc tệp văn bản theo từng dòng

open(path_to_file, mode)

Code language: Python (python)
0

đầu ra

open(path_to_file, mode)

Code language: Python (python)
1

Một cách ngắn gọn hơn để đọc từng dòng tệp văn bản

Hàm

open(path_to_file, mode)

Code language: Python (python)
5 trả về một đối tượng tệp là một đối tượng có thể lặp lại. Do đó, bạn có thể sử dụng vòng lặp

with open(path_to_file) as f: contents = f.readlines()

Code language: Python (python)
9 để lặp qua các dòng của tệp văn bản như sau

open(path_to_file, mode)

Code language: Python (python)
2

Đây là một cách ngắn gọn hơn để đọc từng dòng tệp văn bản

Đọc tệp văn bản UTF-8

Mã trong các ví dụ trước hoạt động tốt với tệp văn bản ASCII. Tuy nhiên, nếu bạn đang xử lý các ngôn ngữ khác như tiếng Nhật, tiếng Trung và tiếng Hàn, tệp văn bản không phải là tệp văn bản ASCII đơn giản. Và nó có khả năng là một tệp UTF-8 sử dụng nhiều thứ hơn là chỉ các ký tự văn bản ASCII tiêu chuẩn

Để mở tệp văn bản UTF-8, bạn cần chuyển

with open('the-zen-of-python.txt') as f: contents = f.read() print(contents)

Code language: Python (python)
0 cho hàm

open(path_to_file, mode)

Code language: Python (python)
5 để hướng dẫn nó mong đợi các ký tự UTF-8 từ tệp

Để trình diễn, bạn sẽ sử dụng tệp

with open('the-zen-of-python.txt') as f: contents = f.read() print(contents)

Code language: Python (python)
2 sau đây có chứa một số trích dẫn bằng tiếng Nhật

Read() hoạt động như thế nào trong Python?

read() trong Python được sử dụng để đọc tối đa n byte từ tệp được liên kết với bộ mô tả tệp đã cho . Nếu đã đến cuối tệp trong khi đọc byte từ bộ mô tả tệp đã cho, os. phương thức read() sẽ trả về một đối tượng byte trống cho tất cả các byte còn lại được đọc.

Công dụng của read() là gì?

Hàm read() đọc dữ liệu đã ghi trước đó vào tệp . Nếu bất kỳ phần nào của tệp thông thường trước phần cuối của tệp chưa được ghi, read() sẽ trả về byte có giá trị 0. Ví dụ: lseek() cho phép đặt độ lệch tệp ngoài phần cuối của dữ liệu hiện có trong tệp.

Việc sử dụng tệp () trong Python là gì?

Đối tượng tệp cho phép chúng tôi sử dụng, truy cập và thao tác với tất cả các tệp mà người dùng có thể truy cập . Người ta có thể đọc và ghi bất kỳ tệp nào như vậy. Khi thao tác với tệp không thành công vì lý do liên quan đến I/O, ngoại lệ IOError sẽ xuất hiện.

Tệp đã đọc () có trả về một chuỗi không?

read trả về chuỗi trống khi đến cuối tệp . readline , giống như read , trả về chuỗi trống khi đến cuối tệp.