Hướng dẫn write binary file python - viết tệp nhị phân python
Tôi có một chuỗi (nó cũng có thể là một số nguyên) trong Python và tôi muốn viết nó vào một tệp. Nó chỉ chứa những cái và số không tôi muốn mẫu của các cái và số không được ghi vào một tệp. Tôi muốn viết trực tiếp nhị phân vì tôi cần lưu trữ nhiều dữ liệu, nhưng chỉ có các giá trị nhất định. Tôi thấy không cần phải chiếm không gian sử dụng tám bit cho mỗi giá trị khi tôi chỉ cần ba. Show Nội dung chính
Ví dụ. Giả sử tôi đã viết chuỗi nhị phân 0 vào một tệp. Nếu tôi mở nó trong một trình soạn thảo văn bản, nó sẽ nói 1 (01100010 là mã ASCII cho B). Đừng nhầm lẫn mặc dù. Tôi không muốn viết mã ASCII, ví dụ chỉ là để chỉ ra rằng tôi muốn viết trực tiếp các byte vào tệp.Clarification: Chuỗi của tôi trông giống như thế này:
Nó không được làm bằng mã nhị phân cho số hoặc ký tự. Nó chỉ chứa dữ liệu tương đối với chương trình của tôi. Duhaime 23.9K14 Huy hiệu vàng156 Huy hiệu bạc200 Huy hiệu đồng14 gold badges156 silver badges200 bronze badges14 gold badges156 silver badges200 bronze badges Đã hỏi ngày 2 tháng 6 năm 2013 lúc 21:29Jun 2, 2013 at 21:29Jun 2, 2013 at 21:29 Để viết ra một chuỗi, bạn có thể sử dụng phương thức 2 của tệp. Để viết một số nguyên, bạn sẽ cần sử dụng mô -đun 3
Tuy nhiên, biểu diễn của int và chuỗi là khác nhau, bạn có thể sử dụng hàm 4 thay thế để biến nó thành chuỗi 0 và 1
Nhưng có lẽ cách tốt nhất để xử lý tất cả các 5 này là quyết định độ rộng cố định cho các chuỗi nhị phân trong tệp và chuyển đổi chúng như vậy:
Thiết quyền 10,4K2 Huy hiệu vàng17 Huy hiệu bạc32 Huy hiệu đồng2 gold badges17 silver badges32 bronze badges2 gold badges17 silver badges32 bronze badges Đã trả lời ngày 2 tháng 6 năm 2013 lúc 21:52Jun 2, 2013 at 21:52Jun 2, 2013 at 21:52 Ryan Hainingan HainingRyan HainingRyan Haining 33.7K12 Huy hiệu vàng105 Huy hiệu bạc167 Huy hiệu đồng12 gold badges105 silver badges167 bronze badges12 gold badges105 silver badges167 bronze badges 3 Được rồi, sau khi tìm kiếm nhiều hơn một chút, tôi đã tìm thấy một câu trả lời. Tôi tin rằng những người còn lại chỉ đơn giản là không hiểu (đó có lẽ là lỗi của tôi, vì tôi phải chỉnh sửa hai lần để làm rõ). Tôi tìm thấy nó ở đây. Câu trả lời là phân chia từng phần dữ liệu, chuyển đổi chúng thành một số nguyên nhị phân sau đó đặt chúng vào một mảng nhị phân. Sau đó, bạn có thể sử dụng phương thức 6 của mảng để ghi vào tệp. 1Ryan Haining 33.7K12 Huy hiệu vàng105 Huy hiệu bạc167 Huy hiệu đồng12 gold badges105 silver badges167 bronze badges12 gold badges105 silver badges167 bronze badges Được rồi, sau khi tìm kiếm nhiều hơn một chút, tôi đã tìm thấy một câu trả lời. Tôi tin rằng những người còn lại chỉ đơn giản là không hiểu (đó có lẽ là lỗi của tôi, vì tôi phải chỉnh sửa hai lần để làm rõ). Tôi tìm thấy nó ở đây.Jun 2, 2013 at 23:36 Câu trả lời là phân chia từng phần dữ liệu, chuyển đổi chúng thành một số nguyên nhị phân sau đó đặt chúng vào một mảng nhị phân. Sau đó, bạn có thể sử dụng phương thức 6 của mảng để ghi vào tệp. 1KFoxRyan Haining3 gold badges9 silver badges34 bronze badges
6 của mảng để ghi vào tệp.KFoxRyan Haining3 gold badges9 silver badges34 bronze badgesĐã trả lời ngày 2 tháng 6 năm 2013 lúc 23:36 4KfoxkfoxJun 2, 2013 at 22:16
3Aya1.1163 huy hiệu vàng9 Huy hiệu bạc34 Huy hiệu đồng Tôi muốn mẫu của những cái và số không được ghi vào một tệp.Jun 2, 2013 at 22:166 gold badges54 silver badges55 bronze badges1 Nếu bạn có nghĩa là bạn muốn viết một luồng từ một chuỗi sang một tệp, bạn sẽ cần một cái gì đó như thế này ...Aya 6... mà Sep 20, 2016 at 5:04 7 hiển thị ...6 gold badges54 silver badges55 bronze badgesThorSummonerĐã trả lời ngày 2 tháng 6 năm 2013 lúc 22:1613 gold badges129 silver badges138 bronze badges 0 AyaayaSep 20, 2016 at 5:04 37.6K6 Huy hiệu vàng54 Huy hiệu bạc55 Huy hiệu ĐồngThorSummoner 15.2K13 Huy hiệu vàng129 Huy hiệu bạc138 Huy hiệu đồngVí dụ ngắn gọn:13 gold badges129 silver badges138 bronze badgesĐã trả lời ngày 20 tháng 9 năm 2016 lúc 5:04 Thorsummonerthorsummoner
Ví dụ Python 3.4 4Mar 30, 2016 at 22:25Mar 30, 2016 at 22:25Làm thế nào để bạn viết dữ liệu nhị phân vào một tệp trong Python?Sử dụng tệp .... File = Open ("Sample.bin", "WB"). tập tin. Viết (b "Chuỗi nhị phân này sẽ được viết vào sample.bin"). tập tin. gần(). Chúng ta có thể viết chuỗi vào tệp nhị phân trong Python không?Phương thức số 1: Sử dụng Định dạng Jop () + Ord () + () Sự kết hợp của các hàm trên có thể được sử dụng để thực hiện tác vụ cụ thể này.Hàm ord chuyển đổi ký tự thành tương đương ASCII, định dạng chuyển đổi số này thành số nhị phân và tham gia được sử dụng để nối từng ký tự được chuyển đổi để tạo thành một chuỗi.Using join() + ord() + format() The combination of above functions can be used to perform this particular task. The ord function converts the character to it's ASCII equivalent, format converts this to binary number and join is used to join each converted character to form a string.Using join() + ord() + format() The combination of above functions can be used to perform this particular task. The ord function converts the character to it's ASCII equivalent, format converts this to binary number and join is used to join each converted character to form a string. Định dạng tệp nhị phân trong Python là gì?Khoa học dữ liệu thực tế bằng cách sử dụng các tệp "nhị phân" Python là bất kỳ tệp nào trong đó định dạng không được tạo thành từ các ký tự có thể đọc được.Các tệp nhị phân có thể bao gồm từ các tệp hình ảnh như JPEG hoặc GIF, tệp âm thanh như mp3 hoặc định dạng tài liệu nhị phân như Word hoặc PDF.Trong Python, các tệp được mở ở chế độ văn bản theo mặc định.any files where the format isn't made up of readable characters. Binary files can range from image files like JPEGs or GIFs, audio files like MP3s or binary document formats like Word or PDF. In Python, files are opened in text mode by default.any files where the format isn't made up of readable characters. Binary files can range from image files like JPEGs or GIFs, audio files like MP3s or binary document formats like Word or PDF. In Python, files are opened in text mode by default. Làm cách nào để đọc một chuỗi nhị phân trong Python?Phương pháp số 1: Dữ liệu nhị phân được chia thành các bộ 7 bit vì bộ nhị phân này làm đầu vào, trả về giá trị thập phân tương ứng là mã ASCII của ký tự của chuỗi.Mã ASCII này sau đó được chuyển đổi thành chuỗi bằng hàm chr ().using chr() function.using chr() function. |