Luồng đọc () trả về gì trong Python?

Hàm tích hợp sẵn của Python input() và print() thực hiện thao tác đọc/ghi với các luồng IO tiêu chuẩn. Hàm input() đọc văn bản vào các biến bộ nhớ từ bàn phím được định nghĩa là sys. stdin và hàm print() gửi dữ liệu đến thiết bị hiển thị được xác định là sys. tiêu chuẩn. Mô-đun sys trình bày định nghĩa của các đối tượng này

Thay vì thiết bị đầu ra tiêu chuẩn, nếu dữ liệu được lưu trong các tệp máy tính liên tục thì nó có thể được sử dụng sau đó. Tệp là một vị trí được đặt tên trong thiết bị lưu trữ cố định của máy tính, chẳng hạn như đĩa. Hàm tích hợp sẵn của Python open() trả về đối tượng tệp được ánh xạ tới một tệp trên bộ lưu trữ vĩnh viễn như đĩa

chức năng mở ()

Đối tượng tệp được trả về bởi hàm open() cần tên tệp cùng với đường dẫn và chế độ mở tệp

file = open(name, mode) 

Tham số chế độ quyết định cách xử lý tệp. Chế độ mặc định là 'r' có nghĩa là giờ đây có thể đọc dữ liệu từ tệp. Để lưu trữ dữ liệu trong đó, tham số chế độ phải được đặt thành 'w'. Các giá trị được hỗ trợ khác của thông số chế độ và tầm quan trọng của chúng được liệt kê trong bảng sau.  

characterpurposerMở một tập tin chỉ để đọc. (mặc định)wMở tệp chỉ để ghi, xóa nội dung trước đóaMở tệp để nối thêm. mở tệp ở định dạng văn bản (mặc định)bMở tệp ở định dạng nhị phân. +Mở tệp để đọc và ghi đồng thời. tệp xopens để tạo độc quyền

Hàm open() trả về một tệp giống như đối tượng đại diện cho bất kỳ luồng nào như tệp, luồng byte, ổ cắm hoặc đường ống, v.v. Đối tượng tệp hỗ trợ các phương thức khác nhau cho các hoạt động trên luồng dữ liệu cơ bản

viết phương pháp

Câu lệnh sau mở python. txt ở chế độ ghi

>>> f=open("python.txt","w")

Tiếp theo chúng ta phải đưa một số dữ liệu vào tệp. Phương thức write() lưu trữ một chuỗi trong tệp

>>> f.write(("Monty Python's Flying Circus")

Đảm bảo rằng bạn đóng đối tượng tệp cuối cùng

>>> f.close()

"con trăn. txt" hiện được tạo trong thư mục hiện tại. Hãy thử mở nó bằng bất kỳ trình soạn thảo văn bản nào để xác nhận rằng nó có chứa văn bản trên

phương thức writelines()

Đối tượng tệp cũng có phương thức writelines() để ghi các mục trong đối tượng danh sách vào tệp. Các ký tự xuống dòng ("\n)  phải là một phần của chuỗi

lines=[" Đẹp hơn xấu. \n", "Rõ ràng tốt hơn ngầm. \n", "Đơn giản tốt hơn phức tạp. \n", "Phức tạp vẫn tốt hơn phức tạp. \N"]

f=open("python.txt","w")
f.writelines(lines)
f.close()

con trăn. txt hiển thị dữ liệu sau. Khi được mở bằng trình chỉnh sửa

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

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

Để đọc dữ liệu từ một tệp, chúng ta cần mở nó ở chế độ 'r'

>>> f=open('python.txt','r')

Phương thức read() đọc một số ký tự nhất định từ vị trí đọc hiện tại của tệp. Để đọc 9 ký tự đầu tiên trong tệp

>>> f.read(9)
'Beautiful'

phương thức readline()

Phương pháp này đọc dòng hiện tại cho đến khi nó gặp ký tự xuống dòng

________số 8_______

Để đọc từng dòng tệp cho đến khi tất cả các dòng được đọc,

f=open("python.txt","r")
while True:
       line=f.readline()
       if line=='':break
       print (line)
f.close()

phương thức readlines().  

Phương thức này đọc tất cả các dòng và trả về một đối tượng danh sách

>>> f=open("python.txt","w")
0

Ngoại lệ trong Xử lý tệp

Hoạt động tập tin có thể xảy ra ngoại lệ. Nếu không thể mở tệp, OSError sẽ xuất hiện và nếu không tìm thấy, FileNotFoundError sẽ xuất hiện

>>> f=open("python.txt","w")
1

Do đó các hoạt động như vậy phải luôn được cung cấp cơ chế xử lý ngoại lệ

>>> f=open("python.txt","w")
2

Đối tượng tệp dưới dạng trình vòng lặp

Đối tượng tệp là một luồng dữ liệu hỗ trợ phương thức next() để đọc tệp theo từng dòng. Khi gặp phải phần cuối của tệp, ngoại lệ StopIteration được nâng lên

>>> f=open("python.txt","w")
3

đầu ra

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

chế độ nối thêm

Khi một tệp được mở bằng chế độ "w", nội dung của nó sẽ bị xóa nếu nó đã tồn tại. Để thêm nhiều dữ liệu hơn vào tệp hiện có, hãy sử dụng chế độ "a" (chế độ nối thêm).  

>>> f=open("python.txt","w")
5

Nếu dữ liệu bổ sung hiện được ghi, nó sẽ được thêm vào cuối tệp.  

>>> f=open("python.txt","w")
6

Tệp sẽ có thêm dòng ở cuối

+ chế độ đọc/ghi đồng thời

Chế độ "w" hoặc chế độ "a" cho phép dữ liệu được ghi vào và không thể đọc được từ. Mặt khác, chế độ "r" chỉ cho phép đọc nhưng không cho phép thao tác ghi. Để thực hiện các thao tác đọc/ghi đồng thời, hãy sử dụng chế độ "r+" hoặc "w+"

phương thức tìm kiếm ()

Phương thức seek() của đối tượng tệp đặt vị trí đọc/ghi hiện tại thành vị trí đã chỉ định trong tệp

>>> f=open("python.txt","w")
7

Ở đây, tham số từ đâu đếm lần lượt từ vị trí đầu, vị trí hiện tại hoặc vị trí kết thúc

  • 0. offset tính từ đầu
  • 1. offset được tính từ vị trí hiện tại
  • 2. phần bù được tính từ cuối

Chúng ta hãy giả sử rằng con trăn. txt chứa các dòng sau

>>> f=open("python.txt","w")
8

Bây giờ chúng tôi cố gắng thay thế từ 'tốt hơn' bằng 'luôn luôn tốt hơn'. Đầu tiên hãy mở tệp ở chế độ đọc/ghi. Đặt con trỏ tệp ở đầu dòng thứ 2 và đọc nó. Thay 'better' bằng 'always better' và viết lại dòng

Mã số

>>> f=open("python.txt","w")
9

đầu ra

>>> f.write(("Monty Python's Flying Circus")
0

Tập tin nhị phân

Hàm open() mặc định mở một tệp ở định dạng văn bản. Để mở tệp ở định dạng nhị phân, hãy thêm 'b' vào tham số chế độ. Do đó, chế độ "rb" mở tệp ở định dạng nhị phân để đọc và chế độ "wb" mở tệp ở định dạng nhị phân để ghi. Không giống như tệp chế độ văn bản, tệp nhị phân không thể đọc được bằng con người. Khi mở bằng bất kỳ trình soạn thảo văn bản nào, dữ liệu không thể nhận dạng được

Mã sau lưu trữ một số trong tệp nhị phân. Lần đầu tiên nó được chuyển đổi theo byte trước khi viết. Hàm to_bytes() của lớp int trả về biểu diễn byte của đối tượng

Hàm read() trả về trong Python là gì?

Phương thức read() trả về số byte đã chỉ định từ tệp . Mặc định là -1 có nghĩa là toàn bộ tập tin.

Read() có trả về một chuỗi Python không?

read() trên các đối tượng IO thường trả về một chuỗi hoặc một đối tượng byte (đối tượng unicode hoặc str trong Python 2), tùy thuộc vào việc .

Read() có trả về một chuỗi không?

Ở cuối tệp, việc đọc chỉ trả về một chuỗi rỗng .

Làm cách nào để đọc dữ liệu luồng trong Python?

readlines(). . f. readlines() đọc tất cả dữ liệu, đưa tất cả vào danh sách và trả về danh sách đó.