Làm thế nào để bạn viết dữ liệu nhị phân trong python?

Các mô-đun được mô tả trong chương này cung cấp một số hoạt động dịch vụ cơ bản để thao tác dữ liệu nhị phân. Các hoạt động khác trên dữ liệu nhị phân, đặc biệt liên quan đến định dạng tệp và giao thức mạng, được mô tả trong các phần có liên quan

Một số thư viện được mô tả trong Dịch vụ xử lý văn bản cũng hoạt động với định dạng nhị phân tương thích ASCII [ví dụ:

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
1] hoặc tất cả dữ liệu nhị phân [ .

Ngoài ra, hãy xem tài liệu về các loại dữ liệu nhị phân tích hợp sẵn của Python trong Các loại chuỗi nhị phân — byte, bytearray, memoryview .

  • >>> f = open['C:\myfile.txt'] # opening a file
    >>> lines = f.read[] # reading a file
    >>> lines
    'This is the first line. \nThis is the second line.\nThis is the third line.'
    >>> f.close[] # closing file object
    
    3 — Diễn giải byte dưới dạng dữ liệu nhị phân được đóng gói
    • Chức năng và ngoại lệ
    • định dạng chuỗi
      • Thứ tự byte, kích thước và căn chỉnh
      • định dạng ký tự
      • ví dụ
    • Các ứng dụng
      • Định dạng gốc
      • định dạng tiêu chuẩn
    • Các lớp học
  • >>> f = open['C:\myfile.txt'] # opening a file
    >>> lines = f.read[] # reading a file
    >>> lines
    'This is the first line. \nThis is the second line.\nThis is the third line.'
    >>> f.close[] # closing file object
    
    4 — Đăng ký Codec và các lớp cơ sở
    • Các lớp cơ sở Codec
      • Trình xử lý lỗi
      • Mã hóa và giải mã phi trạng thái
      • Mã hóa và giải mã tăng dần
        • Đối tượng IncrementalEncoder
        • Đối tượng Bộ giải mã Gia tăng
      • Mã hóa và giải mã luồng
        • Đối tượng StreamWriter
        • Đối tượng StreamReader
        • Đối tượng StreamReaderWriter
        • Đối tượng StreamRecoder
    • Mã hóa và Unicode
    • Mã hóa tiêu chuẩn
    • Mã hóa cụ thể của Python
      • Mã hóa văn bản
      • biến đổi nhị phân
      • chuyển đổi văn bản
    • >>> f = open['C:\myfile.txt'] # opening a file
      >>> lines = f.read[] # reading a file
      >>> lines
      'This is the first line. \nThis is the second line.\nThis is the third line.'
      >>> f.close[] # closing file object
      
      5 — Tên miền quốc tế hóa trong các ứng dụng
    • >>> f = open['C:\myfile.txt'] # opening a file
      >>> lines = f.read[] # reading a file
      >>> lines
      'This is the first line. \nThis is the second line.\nThis is the third line.'
      >>> f.close[] # closing file object
      
      6 — Trang mã ANSI của Windows
    • >>> f = open['C:\myfile.txt'] # opening a file
      >>> lines = f.read[] # reading a file
      >>> lines
      'This is the first line. \nThis is the second line.\nThis is the third line.'
      >>> f.close[] # closing file object
      
      7 — Codec UTF-8 có chữ ký BOM

[tôi]. Nếu tệp nhị phân abc. dat đã tồn tại và có một số dữ liệu được ghi trong tệp nhị phân và chúng tôi đang ghi dữ liệu vào cùng một tệp abc. dat. Sau đó, trong trường hợp đó, dữ liệu được ghi trong tệp sẽ bị ghi đè bằng dữ liệu mới

[ii]. Nếu tệp không tồn tại trong hệ thống, thì trước tiên nó sẽ tạo tệp mới với tên đã cho. Và sau đó thực hiện thao tác ghi. Chúng ta có thể thực hiện thao tác ghi trên tệp nhị phân bằng phương thức dump[] có sẵn trong thư viện dưa chuột python


Các cách ghi dữ liệu vào tệp nhị phân trong Python
1]. Sử dụng hàm/phương thức dump[]

[tôi]. bãi rác[]. Phương thức được sử dụng để ghi dữ liệu vào tệp nhị phân là phương thức dump[]. Nó nhận hai đối số ‘file object’ và ‘file‘ làm tham số. Nó trả về biểu diễn đối tượng ở chế độ byte. Phương thức dump[] thuộc về mô-đun dưa chua

Trong Python, mô-đun IO cung cấp các phương thức của ba loại hoạt động IO; . Cách chính tắc để tạo một đối tượng tệp là sử dụng hàm

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
2

Mọi thao tác với tệp có thể được thực hiện theo ba bước sau

  1. Mở tệp để lấy đối tượng tệp bằng hàm open[] tích hợp. Có các chế độ truy cập khác nhau mà bạn có thể chỉ định trong khi mở tệp bằng hàm open[]
  2. Thực hiện các thao tác đọc, ghi, chắp thêm bằng cách sử dụng đối tượng tệp được lấy từ hàm
    >>> f = open['C:\myfile.txt'] # opening a file
    >>> lines = f.read[] # reading a file
    >>> lines
    'This is the first line. \nThis is the second line.\nThis is the third line.'
    >>> f.close[] # closing file object
    
    2
  3. Đóng và xử lý đối tượng tệp

Đọc tập tin

Đối tượng tệp bao gồm các phương thức sau để đọc dữ liệu từ tệp

  • đọc [ký tự]. đọc số lượng ký tự được chỉ định bắt đầu từ vị trí hiện tại
  • dòng đọc []. đọc các ký tự bắt đầu từ vị trí đọc hiện tại cho đến một ký tự xuống dòng
  • đường đọc []. đọc tất cả các dòng cho đến khi kết thúc tệp và trả về một đối tượng danh sách

Tệp

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
4 sau đây sẽ được sử dụng trong tất cả các ví dụ về đọc và ghi tệp

C. \tập tin của tôi. txt

sao chép

This is the first line. 
This is the second line.
This is the third line.

Ví dụ sau thực hiện thao tác đọc bằng phương thức

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
5

Thí dụ. Đọc một tập tin

sao chép

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object

Ở trên,

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
6 mở
>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
7 ở chế độ đọc mặc định từ thư mục hiện tại và trả về một đối tượng tệp. Hàm
>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
8 đọc tất cả nội dung cho đến khi EOF dưới dạng chuỗi. Nếu bạn chỉ định đối số kích thước ký tự trong phương thức
>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
5, thì nó sẽ chỉ đọc nhiều ký tự đó.
>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
00 sẽ xả và đóng luồng

đọc một dòng

Ví dụ sau minh họa việc đọc một dòng từ tệp

Thí dụ. đọc dòng

sao chép

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
0

Như bạn có thể thấy, chúng tôi phải mở tệp ở chế độ

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
01. Phương thức
>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
02 sẽ trả về dòng đầu tiên và sau đó sẽ trỏ đến dòng thứ hai trong tệp

Đọc tất cả các dòng

Phần sau đọc tất cả các dòng bằng hàm

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
03

Thí dụ. Đọc một tập tin

sao chép

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
5

Đối tượng tệp có một trình vòng lặp sẵn có. Chương trình sau đây đọc từng dòng tệp đã cho cho đến khi

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
04 được nâng lên, i. e. , EOF đạt được

Thí dụ. Trình lặp tệp

sao chép

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
7

Sử dụng vòng lặp for để đọc tệp dễ dàng

Thí dụ. Đọc tệp bằng vòng lặp For

sao chép

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
8

đầu ra

This is the first line. 
This is the second line.
This is the third line.

Đọc tệp nhị phân

Sử dụng chế độ 'rb' trong hàm

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
2 để đọc tệp nhị phân, như hình bên dưới

Thí dụ. Đọc một tập tin

sao chép

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
1

Viết vào một tập tin

Đối tượng tệp cung cấp các phương thức sau để ghi vào tệp

  • viết [s]. Viết chuỗi s vào luồng và trả về số ký tự đã viết
  • dòng viết [dòng]. Viết danh sách các dòng vào luồng. Mỗi dòng phải có dấu phân cách ở cuối dòng

Tạo một tệp mới và ghi

Sau đây tạo một tệp mới nếu nó không tồn tại hoặc ghi đè lên một tệp hiện có

Thí dụ. Tạo hoặc ghi đè lên tệp hiện có

sao chép

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
2

Trong ví dụ trên, câu lệnh

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
06 mở
>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
7 ở chế độ ghi, phương thức
>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
2 trả về đối tượng tệp và gán nó cho một biến
>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
09.
>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
50 chỉ định rằng tệp có thể ghi được. Tiếp theo,
>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
51 ghi đè nội dung hiện có của tệp
>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
7. Nó trả về số ký tự được ghi vào một tệp, là 5 trong ví dụ trên. Cuối cùng,
>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
00 đóng đối tượng tệp

Nối vào một tệp hiện có

Phần sau nối nội dung vào cuối tệp hiện có bằng cách chuyển chế độ

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
54 hoặc
>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
55 trong phương thức
>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
2

Thí dụ. Nối vào tệp hiện có

sao chép

This is the first line. 
This is the second line.
This is the third line.
4

Viết nhiều dòng

Python cung cấp phương thức

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
57 để lưu nội dung của đối tượng danh sách vào một tệp. Vì ký tự dòng mới không được ghi tự động vào tệp nên nó phải được cung cấp như một phần của chuỗi

Thí dụ. Viết dòng vào tập tin

sao chép

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
0

Việc mở tệp bằng chế độ "w" hoặc chế độ "a" chỉ có thể được ghi vào và không thể đọc được từ. Tương tự, chế độ "r" chỉ cho phép đọc và không ghi. Để thực hiện các thao tác đọc/chắp thêm đồng thời, hãy sử dụng chế độ "a+"

Ghi vào tệp nhị phân

Hàm

>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
2 mở tệp ở định dạng văn bản theo mặc định. Để mở tệp ở định dạng nhị phân, hãy thêm
>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
59 vào tham số chế độ. Do đó, chế độ
>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
70 mở tệp ở định dạng nhị phân để đọc, trong khi chế độ
>>> f = open['C:\myfile.txt'] # opening a file
>>> lines = f.read[] # reading a file
>>> lines
'This is the first line. \nThis is the second line.\nThis is the third line.'
>>> f.close[] # closing file object
71 mở tệp ở định dạng nhị phân để ghi. Không giống như tệp 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

Đoạn mã sau lưu trữ danh sách các số trong tệp nhị phân. Danh sách đầu tiên được chuyển đổi trong một mảng byte trước khi viết. Hàm tích hợp bytearray[] trả về một biểu diễn byte của đối tượng

Có kiểu dữ liệu nhị phân trong Python không?

Trong Python, kiểu dữ liệu boolean là biến nhị phân và được định nghĩa là T r u e hoặc F a l s e. Ngoài ra, hàm bool[] chuyển đổi giá trị của một đối tượng thành giá trị boolean. Hàm này trả về T r u e cho tất cả các giá trị ngoại trừ các giá trị sau. Các đối tượng rỗng [danh sách, bộ, chuỗi, từ điển]

Dữ liệu nhị phân được viết như thế nào?

Dữ liệu nhị phân là một loại dữ liệu được biểu diễn hoặc hiển thị trong hệ thống số nhị phân. Dữ liệu nhị phân là loại dữ liệu duy nhất mà máy tính có thể hiểu và thực hiện trực tiếp. Nó được biểu thị bằng số bằng tổ hợp số 0 và số 1 .

Định dạng nhị phân trong Python là gì?

Tệp nhị phân là tệp có nội dung ở định dạng nhị phân bao gồm một chuỗi byte liên tiếp, mỗi byte dài 8 bit. The content must be interpreted by a program or a hardware processor that understands in advance exactly how that content is formatted and how to read the data.

Chủ Đề