Python thay thế byte trong tệp

Trên thực tế, có vẻ như tôi đã sai. trên Windows của tôi, mã trước đó lưu một tệp có

$ hexdump -C toy_text.TXT | head
00000000  32 31 20 36 20 31 36 30  20 31 31 30 20 33 2e 39  |21 6 160 110 3.9|
00000010  20 32 2e 36 32 20 31 36  2e 34 36 20 30 20 31 20  | 2.62 16.46 0 1 |
00000020  34 20 34 0d 32 31 20 36  20 31 36 30 20 31 31 30  |4 4.21 6 160 110|
00000030  20 33 2e 39 20 32 2e 38  37 35 20 31 37 2e 30 32  | 3.9 2.875 17.02|
00000040  20 30 20 31 20 34 20 34  0d 32 32 2e 38 20 34 20  | 0 1 4 4.22.8 4 |
00000050  31 30 38 20 39 33 20 33  2e 38 35 20 32 2e 33 32  |108 93 3.85 2.32|
00000060  20 31 38 2e 36 31 20 31  20 31 20 34 20 31 0d 32  | 18.61 1 1 4 1.2|
00000070  31 2e 34 20 36 20 32 35  38 20 31 31 30 20 33 2e  |1.4 6 258 110 3.|
00000080  30 38 20 33 2e 32 31 35  20 31 39 2e 34 34 20 31  |08 3.215 19.44 1|
00000090  20 30 20 33 20 31 0d 31  38 2e 37 20 38 20 33 36  | 0 3 1.18.7 8 36|
$ hexdump -C toy_text_n.TXT | head
00000000  32 31 20 36 20 31 36 30  20 31 31 30 20 33 2e 39  |21 6 160 110 3.9|
00000010  20 32 2e 36 32 20 31 36  2e 34 36 20 30 20 31 20  | 2.62 16.46 0 1 |
00000020  34 20 34 0d 0a 32 31 20  36 20 31 36 30 20 31 31  |4 4..21 6 160 11|
00000030  30 20 33 2e 39 20 32 2e  38 37 35 20 31 37 2e 30  |0 3.9 2.875 17.0|
00000040  32 20 30 20 31 20 34 20  34 0d 0a 32 32 2e 38 20  |2 0 1 4 4..22.8 |
00000050  34 20 31 30 38 20 39 33  20 33 2e 38 35 20 32 2e  |4 108 93 3.85 2.|
00000060  33 32 20 31 38 2e 36 31  20 31 20 31 20 34 20 31  |32 18.61 1 1 4 1|
00000070  0d 0a 32 31 2e 34 20 36  20 32 35 38 20 31 31 30  |..21.4 6 258 110|
00000080  20 33 2e 30 38 20 33 2e  32 31 35 20 31 39 2e 34  | 3.08 3.215 19.4|
00000090  34 20 31 20 30 20 33 20  31 0d 0a 31 38 2e 37 20  |4 1 0 3 1..18.7 |
$ hexdump -C toy_text_n2.TXT | head
00000000  32 31 20 36 20 31 36 30  20 31 31 30 20 33 2e 39  |21 6 160 110 3.9|
00000010  20 32 2e 36 32 20 31 36  2e 34 36 20 30 20 31 20  | 2.62 16.46 0 1 |
00000020  34 20 34 0a 32 31 20 36  20 31 36 30 20 31 31 30  |4 4.21 6 160 110|
00000030  20 33 2e 39 20 32 2e 38  37 35 20 31 37 2e 30 32  | 3.9 2.875 17.02|
00000040  20 30 20 31 20 34 20 34  0a 32 32 2e 38 20 34 20  | 0 1 4 4.22.8 4 |
00000050  31 30 38 20 39 33 20 33  2e 38 35 20 32 2e 33 32  |108 93 3.85 2.32|
00000060  20 31 38 2e 36 31 20 31  20 31 20 34 20 31 0a 32  | 18.61 1 1 4 1.2|
00000070  31 2e 34 20 36 20 32 35  38 20 31 31 30 20 33 2e  |1.4 6 258 110 3.|
00000080  30 38 20 33 2e 32 31 35  20 31 39 2e 34 34 20 31  |08 3.215 19.44 1|
00000090  20 30 20 33 20 31 0a 31  38 2e 37 20 38 20 33 36  | 0 3 1.18.7 8 36|
2 làm dấu phân cách. Mã này thực hiện đúng hơn những gì bạn yêu cầu

xx <- readBin("toy_text.TXT", what = "raw",
              n = 32*11*10)

# change 0d (=\r) in 0a (=\n)
xx[xx == 0x0d] <- as.raw(0x0a)

writeBin(xx,
         "toy_text_n2.TXT")

Sử dụng dòng lệnh WSL để kiểm tra nội dung của tệp

$ hexdump -C toy_text.TXT | head
00000000  32 31 20 36 20 31 36 30  20 31 31 30 20 33 2e 39  |21 6 160 110 3.9|
00000010  20 32 2e 36 32 20 31 36  2e 34 36 20 30 20 31 20  | 2.62 16.46 0 1 |
00000020  34 20 34 0d 32 31 20 36  20 31 36 30 20 31 31 30  |4 4.21 6 160 110|
00000030  20 33 2e 39 20 32 2e 38  37 35 20 31 37 2e 30 32  | 3.9 2.875 17.02|
00000040  20 30 20 31 20 34 20 34  0d 32 32 2e 38 20 34 20  | 0 1 4 4.22.8 4 |
00000050  31 30 38 20 39 33 20 33  2e 38 35 20 32 2e 33 32  |108 93 3.85 2.32|
00000060  20 31 38 2e 36 31 20 31  20 31 20 34 20 31 0d 32  | 18.61 1 1 4 1.2|
00000070  31 2e 34 20 36 20 32 35  38 20 31 31 30 20 33 2e  |1.4 6 258 110 3.|
00000080  30 38 20 33 2e 32 31 35  20 31 39 2e 34 34 20 31  |08 3.215 19.44 1|
00000090  20 30 20 33 20 31 0d 31  38 2e 37 20 38 20 33 36  | 0 3 1.18.7 8 36|
$ hexdump -C toy_text_n.TXT | head
00000000  32 31 20 36 20 31 36 30  20 31 31 30 20 33 2e 39  |21 6 160 110 3.9|
00000010  20 32 2e 36 32 20 31 36  2e 34 36 20 30 20 31 20  | 2.62 16.46 0 1 |
00000020  34 20 34 0d 0a 32 31 20  36 20 31 36 30 20 31 31  |4 4..21 6 160 11|
00000030  30 20 33 2e 39 20 32 2e  38 37 35 20 31 37 2e 30  |0 3.9 2.875 17.0|
00000040  32 20 30 20 31 20 34 20  34 0d 0a 32 32 2e 38 20  |2 0 1 4 4..22.8 |
00000050  34 20 31 30 38 20 39 33  20 33 2e 38 35 20 32 2e  |4 108 93 3.85 2.|
00000060  33 32 20 31 38 2e 36 31  20 31 20 31 20 34 20 31  |32 18.61 1 1 4 1|
00000070  0d 0a 32 31 2e 34 20 36  20 32 35 38 20 31 31 30  |..21.4 6 258 110|
00000080  20 33 2e 30 38 20 33 2e  32 31 35 20 31 39 2e 34  | 3.08 3.215 19.4|
00000090  34 20 31 20 30 20 33 20  31 0d 0a 31 38 2e 37 20  |4 1 0 3 1..18.7 |
$ hexdump -C toy_text_n2.TXT | head
00000000  32 31 20 36 20 31 36 30  20 31 31 30 20 33 2e 39  |21 6 160 110 3.9|
00000010  20 32 2e 36 32 20 31 36  2e 34 36 20 30 20 31 20  | 2.62 16.46 0 1 |
00000020  34 20 34 0a 32 31 20 36  20 31 36 30 20 31 31 30  |4 4.21 6 160 110|
00000030  20 33 2e 39 20 32 2e 38  37 35 20 31 37 2e 30 32  | 3.9 2.875 17.02|
00000040  20 30 20 31 20 34 20 34  0a 32 32 2e 38 20 34 20  | 0 1 4 4.22.8 4 |
00000050  31 30 38 20 39 33 20 33  2e 38 35 20 32 2e 33 32  |108 93 3.85 2.32|
00000060  20 31 38 2e 36 31 20 31  20 31 20 34 20 31 0a 32  | 18.61 1 1 4 1.2|
00000070  31 2e 34 20 36 20 32 35  38 20 31 31 30 20 33 2e  |1.4 6 258 110 3.|
00000080  30 38 20 33 2e 32 31 35  20 31 39 2e 34 34 20 31  |08 3.215 19.44 1|
00000090  20 30 20 33 20 31 0a 31  38 2e 37 20 38 20 33 36  | 0 3 1.18.7 8 36|

Lưu ý cách byte thứ 4 của dòng thứ 3 là

$ hexdump -C toy_text.TXT | head
00000000  32 31 20 36 20 31 36 30  20 31 31 30 20 33 2e 39  |21 6 160 110 3.9|
00000010  20 32 2e 36 32 20 31 36  2e 34 36 20 30 20 31 20  | 2.62 16.46 0 1 |
00000020  34 20 34 0d 32 31 20 36  20 31 36 30 20 31 31 30  |4 4.21 6 160 110|
00000030  20 33 2e 39 20 32 2e 38  37 35 20 31 37 2e 30 32  | 3.9 2.875 17.02|
00000040  20 30 20 31 20 34 20 34  0d 32 32 2e 38 20 34 20  | 0 1 4 4.22.8 4 |
00000050  31 30 38 20 39 33 20 33  2e 38 35 20 32 2e 33 32  |108 93 3.85 2.32|
00000060  20 31 38 2e 36 31 20 31  20 31 20 34 20 31 0d 32  | 18.61 1 1 4 1.2|
00000070  31 2e 34 20 36 20 32 35  38 20 31 31 30 20 33 2e  |1.4 6 258 110 3.|
00000080  30 38 20 33 2e 32 31 35  20 31 39 2e 34 34 20 31  |08 3.215 19.44 1|
00000090  20 30 20 33 20 31 0d 31  38 2e 37 20 38 20 33 36  | 0 3 1.18.7 8 36|
$ hexdump -C toy_text_n.TXT | head
00000000  32 31 20 36 20 31 36 30  20 31 31 30 20 33 2e 39  |21 6 160 110 3.9|
00000010  20 32 2e 36 32 20 31 36  2e 34 36 20 30 20 31 20  | 2.62 16.46 0 1 |
00000020  34 20 34 0d 0a 32 31 20  36 20 31 36 30 20 31 31  |4 4..21 6 160 11|
00000030  30 20 33 2e 39 20 32 2e  38 37 35 20 31 37 2e 30  |0 3.9 2.875 17.0|
00000040  32 20 30 20 31 20 34 20  34 0d 0a 32 32 2e 38 20  |2 0 1 4 4..22.8 |
00000050  34 20 31 30 38 20 39 33  20 33 2e 38 35 20 32 2e  |4 108 93 3.85 2.|
00000060  33 32 20 31 38 2e 36 31  20 31 20 31 20 34 20 31  |32 18.61 1 1 4 1|
00000070  0d 0a 32 31 2e 34 20 36  20 32 35 38 20 31 31 30  |..21.4 6 258 110|
00000080  20 33 2e 30 38 20 33 2e  32 31 35 20 31 39 2e 34  | 3.08 3.215 19.4|
00000090  34 20 31 20 30 20 33 20  31 0d 0a 31 38 2e 37 20  |4 1 0 3 1..18.7 |
$ hexdump -C toy_text_n2.TXT | head
00000000  32 31 20 36 20 31 36 30  20 31 31 30 20 33 2e 39  |21 6 160 110 3.9|
00000010  20 32 2e 36 32 20 31 36  2e 34 36 20 30 20 31 20  | 2.62 16.46 0 1 |
00000020  34 20 34 0a 32 31 20 36  20 31 36 30 20 31 31 30  |4 4.21 6 160 110|
00000030  20 33 2e 39 20 32 2e 38  37 35 20 31 37 2e 30 32  | 3.9 2.875 17.02|
00000040  20 30 20 31 20 34 20 34  0a 32 32 2e 38 20 34 20  | 0 1 4 4.22.8 4 |
00000050  31 30 38 20 39 33 20 33  2e 38 35 20 32 2e 33 32  |108 93 3.85 2.32|
00000060  20 31 38 2e 36 31 20 31  20 31 20 34 20 31 0a 32  | 18.61 1 1 4 1.2|
00000070  31 2e 34 20 36 20 32 35  38 20 31 31 30 20 33 2e  |1.4 6 258 110 3.|
00000080  30 38 20 33 2e 32 31 35  20 31 39 2e 34 34 20 31  |08 3.215 19.44 1|
00000090  20 30 20 33 20 31 0a 31  38 2e 37 20 38 20 33 36  | 0 3 1.18.7 8 36|
3 trong tệp gốc,
$ hexdump -C toy_text.TXT | head
00000000  32 31 20 36 20 31 36 30  20 31 31 30 20 33 2e 39  |21 6 160 110 3.9|
00000010  20 32 2e 36 32 20 31 36  2e 34 36 20 30 20 31 20  | 2.62 16.46 0 1 |
00000020  34 20 34 0d 32 31 20 36  20 31 36 30 20 31 31 30  |4 4.21 6 160 110|
00000030  20 33 2e 39 20 32 2e 38  37 35 20 31 37 2e 30 32  | 3.9 2.875 17.02|
00000040  20 30 20 31 20 34 20 34  0d 32 32 2e 38 20 34 20  | 0 1 4 4.22.8 4 |
00000050  31 30 38 20 39 33 20 33  2e 38 35 20 32 2e 33 32  |108 93 3.85 2.32|
00000060  20 31 38 2e 36 31 20 31  20 31 20 34 20 31 0d 32  | 18.61 1 1 4 1.2|
00000070  31 2e 34 20 36 20 32 35  38 20 31 31 30 20 33 2e  |1.4 6 258 110 3.|
00000080  30 38 20 33 2e 32 31 35  20 31 39 2e 34 34 20 31  |08 3.215 19.44 1|
00000090  20 30 20 33 20 31 0d 31  38 2e 37 20 38 20 33 36  | 0 3 1.18.7 8 36|
$ hexdump -C toy_text_n.TXT | head
00000000  32 31 20 36 20 31 36 30  20 31 31 30 20 33 2e 39  |21 6 160 110 3.9|
00000010  20 32 2e 36 32 20 31 36  2e 34 36 20 30 20 31 20  | 2.62 16.46 0 1 |
00000020  34 20 34 0d 0a 32 31 20  36 20 31 36 30 20 31 31  |4 4..21 6 160 11|
00000030  30 20 33 2e 39 20 32 2e  38 37 35 20 31 37 2e 30  |0 3.9 2.875 17.0|
00000040  32 20 30 20 31 20 34 20  34 0d 0a 32 32 2e 38 20  |2 0 1 4 4..22.8 |
00000050  34 20 31 30 38 20 39 33  20 33 2e 38 35 20 32 2e  |4 108 93 3.85 2.|
00000060  33 32 20 31 38 2e 36 31  20 31 20 31 20 34 20 31  |32 18.61 1 1 4 1|
00000070  0d 0a 32 31 2e 34 20 36  20 32 35 38 20 31 31 30  |..21.4 6 258 110|
00000080  20 33 2e 30 38 20 33 2e  32 31 35 20 31 39 2e 34  | 3.08 3.215 19.4|
00000090  34 20 31 20 30 20 33 20  31 0d 0a 31 38 2e 37 20  |4 1 0 3 1..18.7 |
$ hexdump -C toy_text_n2.TXT | head
00000000  32 31 20 36 20 31 36 30  20 31 31 30 20 33 2e 39  |21 6 160 110 3.9|
00000010  20 32 2e 36 32 20 31 36  2e 34 36 20 30 20 31 20  | 2.62 16.46 0 1 |
00000020  34 20 34 0a 32 31 20 36  20 31 36 30 20 31 31 30  |4 4.21 6 160 110|
00000030  20 33 2e 39 20 32 2e 38  37 35 20 31 37 2e 30 32  | 3.9 2.875 17.02|
00000040  20 30 20 31 20 34 20 34  0a 32 32 2e 38 20 34 20  | 0 1 4 4.22.8 4 |
00000050  31 30 38 20 39 33 20 33  2e 38 35 20 32 2e 33 32  |108 93 3.85 2.32|
00000060  20 31 38 2e 36 31 20 31  20 31 20 34 20 31 0a 32  | 18.61 1 1 4 1.2|
00000070  31 2e 34 20 36 20 32 35  38 20 31 31 30 20 33 2e  |1.4 6 258 110 3.|
00000080  30 38 20 33 2e 32 31 35  20 31 39 2e 34 34 20 31  |08 3.215 19.44 1|
00000090  20 30 20 33 20 31 0a 31  38 2e 37 20 38 20 33 36  | 0 3 1.18.7 8 36|
4 trong tệp cuối cùng, nhưng
xx <- readBin("toy_text.TXT", what = "raw",
              n = 32*11*10)

# change 0d (=\r) in 0a (=\n)
xx[xx == 0x0d] <- as.raw(0x0a)

writeBin(xx,
         "toy_text_n2.TXT")
0 ở tệp giữa

Trả lời câu hỏi của bạn

Vâng, đó là ý nghĩa của đối số

xx <- readBin("toy_text.TXT", what = "raw",
              n = 32*11*10)

# change 0d (=\r) in 0a (=\n)
xx[xx == 0x0d] <- as.raw(0x0a)

writeBin(xx,
         "toy_text_n2.TXT")
1 trong

xx <- readBin("toy_text.TXT", what = "raw",
              n = 32*11*10)

Theo cách tôi hiểu, khi bạn gọi

xx <- readBin("toy_text.TXT", what = "raw",
              n = 32*11*10)

# change 0d (=\r) in 0a (=\n)
xx[xx == 0x0d] <- as.raw(0x0a)

writeBin(xx,
         "toy_text_n2.TXT")
2, trước tiên R sẽ yêu cầu hệ điều hành cung cấp bộ nhớ có kích thước
xx <- readBin("toy_text.TXT", what = "raw",
              n = 32*11*10)

# change 0d (=\r) in 0a (=\n)
xx[xx == 0x0d] <- as.raw(0x0a)

writeBin(xx,
         "toy_text_n2.TXT")
1. Sau đó, nó sẽ bắt đầu đọc nội dung của tệp và lưu trữ vào bộ nhớ. Nếu nó tìm thấy EOF (Tín hiệu kết thúc tệp) trong tệp, nó sẽ dừng đọc;

Vì vậy, bạn cần ước tính kích thước của tệp trước khi bắt đầu đọc, đánh giá quá cao kích thước thực. Đó là những gì tôi đã làm với

xx <- readBin("toy_text.TXT", what = "raw",
              n = 32*11*10)

# change 0d (=\r) in 0a (=\n)
xx[xx == 0x0d] <- as.raw(0x0a)

writeBin(xx,
         "toy_text_n2.TXT")
4, vì tôi biết tệp phải chứa khung dữ liệu 32 x 11, thường có ít hơn 10 byte cho mỗi trường

Bây giờ nếu bạn thực sự không biết gì về tệp trước đó, bạn có thể thử sử dụng

xx <- readBin("toy_text.TXT", what = "raw",
              n = 32*11*10)

# change 0d (=\r) in 0a (=\n)
xx[xx == 0x0d] <- as.raw(0x0a)

writeBin(xx,
         "toy_text_n2.TXT")
5

Khuyến khích

Dù sao, làm việc với nhị phân hơi khó, tôi thực sự khuyên bạn nên gắn bó với các hàm chuỗi. Tôi vẫn không biết tại sao

xx <- readBin("toy_text.TXT", what = "raw",
              n = 32*11*10)

# change 0d (=\r) in 0a (=\n)
xx[xx == 0x0d] <- as.raw(0x0a)

writeBin(xx,
         "toy_text_n2.TXT")
6 trước đây của tôi không hoạt động, nhưng bạn có thể lấy nó bằng

$ hexdump -C toy_text.TXT | head
00000000  32 31 20 36 20 31 36 30  20 31 31 30 20 33 2e 39  |21 6 160 110 3.9|
00000010  20 32 2e 36 32 20 31 36  2e 34 36 20 30 20 31 20  | 2.62 16.46 0 1 |
00000020  34 20 34 0d 32 31 20 36  20 31 36 30 20 31 31 30  |4 4.21 6 160 110|
00000030  20 33 2e 39 20 32 2e 38  37 35 20 31 37 2e 30 32  | 3.9 2.875 17.02|
00000040  20 30 20 31 20 34 20 34  0d 32 32 2e 38 20 34 20  | 0 1 4 4.22.8 4 |
00000050  31 30 38 20 39 33 20 33  2e 38 35 20 32 2e 33 32  |108 93 3.85 2.32|
00000060  20 31 38 2e 36 31 20 31  20 31 20 34 20 31 0d 32  | 18.61 1 1 4 1.2|
00000070  31 2e 34 20 36 20 32 35  38 20 31 31 30 20 33 2e  |1.4 6 258 110 3.|
00000080  30 38 20 33 2e 32 31 35  20 31 39 2e 34 34 20 31  |08 3.215 19.44 1|
00000090  20 30 20 33 20 31 0d 31  38 2e 37 20 38 20 33 36  | 0 3 1.18.7 8 36|
$ hexdump -C toy_text_n.TXT | head
00000000  32 31 20 36 20 31 36 30  20 31 31 30 20 33 2e 39  |21 6 160 110 3.9|
00000010  20 32 2e 36 32 20 31 36  2e 34 36 20 30 20 31 20  | 2.62 16.46 0 1 |
00000020  34 20 34 0d 0a 32 31 20  36 20 31 36 30 20 31 31  |4 4..21 6 160 11|
00000030  30 20 33 2e 39 20 32 2e  38 37 35 20 31 37 2e 30  |0 3.9 2.875 17.0|
00000040  32 20 30 20 31 20 34 20  34 0d 0a 32 32 2e 38 20  |2 0 1 4 4..22.8 |
00000050  34 20 31 30 38 20 39 33  20 33 2e 38 35 20 32 2e  |4 108 93 3.85 2.|
00000060  33 32 20 31 38 2e 36 31  20 31 20 31 20 34 20 31  |32 18.61 1 1 4 1|
00000070  0d 0a 32 31 2e 34 20 36  20 32 35 38 20 31 31 30  |..21.4 6 258 110|
00000080  20 33 2e 30 38 20 33 2e  32 31 35 20 31 39 2e 34  | 3.08 3.215 19.4|
00000090  34 20 31 20 30 20 33 20  31 0d 0a 31 38 2e 37 20  |4 1 0 3 1..18.7 |
$ hexdump -C toy_text_n2.TXT | head
00000000  32 31 20 36 20 31 36 30  20 31 31 30 20 33 2e 39  |21 6 160 110 3.9|
00000010  20 32 2e 36 32 20 31 36  2e 34 36 20 30 20 31 20  | 2.62 16.46 0 1 |
00000020  34 20 34 0a 32 31 20 36  20 31 36 30 20 31 31 30  |4 4.21 6 160 110|
00000030  20 33 2e 39 20 32 2e 38  37 35 20 31 37 2e 30 32  | 3.9 2.875 17.02|
00000040  20 30 20 31 20 34 20 34  0a 32 32 2e 38 20 34 20  | 0 1 4 4.22.8 4 |
00000050  31 30 38 20 39 33 20 33  2e 38 35 20 32 2e 33 32  |108 93 3.85 2.32|
00000060  20 31 38 2e 36 31 20 31  20 31 20 34 20 31 0a 32  | 18.61 1 1 4 1.2|
00000070  31 2e 34 20 36 20 32 35  38 20 31 31 30 20 33 2e  |1.4 6 258 110 3.|
00000080  30 38 20 33 2e 32 31 35  20 31 39 2e 34 34 20 31  |08 3.215 19.44 1|
00000090  20 30 20 33 20 31 0a 31  38 2e 37 20 38 20 33 36  | 0 3 1.18.7 8 36|
0

Và trong trường hợp đó

$ hexdump -C toy_text.TXT | head
00000000  32 31 20 36 20 31 36 30  20 31 31 30 20 33 2e 39  |21 6 160 110 3.9|
00000010  20 32 2e 36 32 20 31 36  2e 34 36 20 30 20 31 20  | 2.62 16.46 0 1 |
00000020  34 20 34 0d 32 31 20 36  20 31 36 30 20 31 31 30  |4 4.21 6 160 110|
00000030  20 33 2e 39 20 32 2e 38  37 35 20 31 37 2e 30 32  | 3.9 2.875 17.02|
00000040  20 30 20 31 20 34 20 34  0d 32 32 2e 38 20 34 20  | 0 1 4 4.22.8 4 |
00000050  31 30 38 20 39 33 20 33  2e 38 35 20 32 2e 33 32  |108 93 3.85 2.32|
00000060  20 31 38 2e 36 31 20 31  20 31 20 34 20 31 0d 32  | 18.61 1 1 4 1.2|
00000070  31 2e 34 20 36 20 32 35  38 20 31 31 30 20 33 2e  |1.4 6 258 110 3.|
00000080  30 38 20 33 2e 32 31 35  20 31 39 2e 34 34 20 31  |08 3.215 19.44 1|
00000090  20 30 20 33 20 31 0d 31  38 2e 37 20 38 20 33 36  | 0 3 1.18.7 8 36|
$ hexdump -C toy_text_n.TXT | head
00000000  32 31 20 36 20 31 36 30  20 31 31 30 20 33 2e 39  |21 6 160 110 3.9|
00000010  20 32 2e 36 32 20 31 36  2e 34 36 20 30 20 31 20  | 2.62 16.46 0 1 |
00000020  34 20 34 0d 0a 32 31 20  36 20 31 36 30 20 31 31  |4 4..21 6 160 11|
00000030  30 20 33 2e 39 20 32 2e  38 37 35 20 31 37 2e 30  |0 3.9 2.875 17.0|
00000040  32 20 30 20 31 20 34 20  34 0d 0a 32 32 2e 38 20  |2 0 1 4 4..22.8 |
00000050  34 20 31 30 38 20 39 33  20 33 2e 38 35 20 32 2e  |4 108 93 3.85 2.|
00000060  33 32 20 31 38 2e 36 31  20 31 20 31 20 34 20 31  |32 18.61 1 1 4 1|
00000070  0d 0a 32 31 2e 34 20 36  20 32 35 38 20 31 31 30  |..21.4 6 258 110|
00000080  20 33 2e 30 38 20 33 2e  32 31 35 20 31 39 2e 34  | 3.08 3.215 19.4|
00000090  34 20 31 20 30 20 33 20  31 0d 0a 31 38 2e 37 20  |4 1 0 3 1..18.7 |
$ hexdump -C toy_text_n2.TXT | head
00000000  32 31 20 36 20 31 36 30  20 31 31 30 20 33 2e 39  |21 6 160 110 3.9|
00000010  20 32 2e 36 32 20 31 36  2e 34 36 20 30 20 31 20  | 2.62 16.46 0 1 |
00000020  34 20 34 0a 32 31 20 36  20 31 36 30 20 31 31 30  |4 4.21 6 160 110|
00000030  20 33 2e 39 20 32 2e 38  37 35 20 31 37 2e 30 32  | 3.9 2.875 17.02|
00000040  20 30 20 31 20 34 20 34  0a 32 32 2e 38 20 34 20  | 0 1 4 4.22.8 4 |
00000050  31 30 38 20 39 33 20 33  2e 38 35 20 32 2e 33 32  |108 93 3.85 2.32|
00000060  20 31 38 2e 36 31 20 31  20 31 20 34 20 31 0a 32  | 18.61 1 1 4 1.2|
00000070  31 2e 34 20 36 20 32 35  38 20 31 31 30 20 33 2e  |1.4 6 258 110 3.|
00000080  30 38 20 33 2e 32 31 35  20 31 39 2e 34 34 20 31  |08 3.215 19.44 1|
00000090  20 30 20 33 20 31 0a 31  38 2e 37 20 38 20 33 36  | 0 3 1.18.7 8 36|
1

Kích thước của tệp trên đĩa phải tương ứng với số byte trong tệp đó (do đó, số lượng tệp cần đọc). Xem các ví dụ ở cuối

Làm cách nào để chuyển đổi byte thành tệp trong Python?

Ghi byte vào tệp bằng Python . Mở tệp ở chế độ ghi nhị phân và sau đó chỉ định nội dung sẽ ghi ở dạng byte. Tiếp theo, sử dụng hàm ghi để ghi nội dung byte vào tệp nhị phân .

Làm thế nào để ghi byte vào một tập tin?

Ghi byte sử dụng chế độ chắp thêm trong tệp nhị phân . Biến này chứa dữ liệu phải ghi vào tệp—tiếp theo mở tệp ở định dạng nối thêm nhị phân. Văn bản sẽ được thêm vào cuối tập tin. Chế độ chắp thêm không ghi đè. create a variable byte. This variable contains the data that has to write in a file—next opening a file in binary append format. The text will be added at the end of the file. Append mode does not overwrite.

Làm cách nào để ghi vào tệp nhị phân Python?

Làm cách nào để viết danh sách vào tệp nhị phân trong Python? .
Đầu tiên nhập mô-đun dưa chua
Để ghi danh sách vào tệp nhị phân, hãy sử dụng chế độ truy cập 'b' để mở tệp
Tiếp theo, phương thức dump(list, file_object) của pickle chuyển đổi một đối tượng Python trong bộ nhớ thành một chuỗi byte và ghi nó vào một tệp nhị phân