Python đọc bù tệp nhị phân
Show Pyguys Bài đăng. 17 Chủ đề. 6 Đã tham gia. Tháng 3 năm 2020 Danh tiếng. 0 #1 09-07-2020, 10. 45 CHlàm chủ đề. tôi muốn đọc một tập tin nhị phân. tôi cần một số bù đắp trong đó và kiểm soát bởi endian lớn hoặc nhỏ. nhưng tôi có vấn đề với nó. path_xd = 'xxxxx' pattern = b'\x14\x02' reg_xd=re.compile(pattern) with open(path_xd, 'r+b') as p_xd: data=p_xd.read() for x in reg_xd.finditer(data): offset=x.start() p_xd.seek(offset) data_1402=p_xd.read(16) xd_name=int.from_bytes(data_1402[2:4], byteorder='little') xd_name=(str(xd_name).replace('0', '')).zfill(2) print(xd_name) print(data_1402) print(data_1402[5:9])tôi nhận được đầu ra như thế này nó trông như thế nào trong terminal có vẻ như thiếu một số byte trong đầu ra python. tôi muốn kết quả có định dạng như thế này. cho tập tin đầy đủ. có vẻ như tôi đã hiểu lầm một cái gì đó ở đây. cần trợ giúp với đầu ra tệp hex và endian lớn/nhỏ xin vui lòng tư vấn. cảm ơn.
Hồi đáp Tìm thấy Hồi đáp Pyguys Bài đăng. 17 Chủ đề. 6 Đã tham gia. Tháng 3 năm 2020 Danh tiếng. 0 #2 Jul-12-2020, 01. 04 giờ sánglên. bất cứ ai có thể giúp đỡ? Hồi đáp Tìm thấy Hồi đáp bowlofred Bài đăng. 1.523 Chủ đề. 3 Đã tham gia. Tháng 3 năm 2020 Danh tiếng. 163 #3 Jul-12-2020, 03. 14 giờ sángTôi không hiểu đầu ra của bạn xuất hiện khi nào. Cái đầu tiên nói rằng bạn nhận được "đầu ra như vậy" và cái thứ hai nói rằng nó trông như thế nào trong thiết bị đầu cuối. Tôi hy vọng đầu ra của bạn sẽ ở trong một thiết bị đầu cuối. Làm cách nào để bạn tạo tệp đầu tiên và cách bạn tạo tệp thứ hai? Hồi đáp Tìm thấy Hồi đáp bowlofred Bài đăng. 1.523 Chủ đề. 3 Đã tham gia. Tháng 3 năm 2020 Danh tiếng. 163 #4 Jul-12-2020, 05. 32 giờ sángCó vẻ như ít nhất một phần bạn có chuỗi byte. Khi được in theo mặc định, nếu byte ánh xạ tới ký tự ASCII (như \x20), thì nó sẽ in ký tự đó. \x20 là khoảng trắng, vì vậy số 20 sẽ bị xóa và thay thế bằng khoảng trắng trong bản in của bạn. Hồi đáp Tìm thấy Hồi đáp Pyguys Bài đăng. 17 Chủ đề. 6 Đã tham gia. Tháng 3 năm 2020 Danh tiếng. 0 #5 13-07-2020, 02. 34 giờ sángCảm ơn bạn đã giúp đỡ Hồi đáp Tìm thấy Hồi đáp Phương thức tệp Python seek() đặt vị trí hiện tại của tệp ở phần bù. Đối số wherece là tùy chọn và mặc định là 0, có nghĩa là vị trí tệp tuyệt đối, các giá trị khác là 1 có nghĩa là tìm kiếm tương ứng với vị trí hiện tại và 2 có nghĩa là tìm kiếm tương ứng với phần cuối của tệp không có giá trị quay lại. Lưu ý rằng nếu tệp được mở để nối thêm bằng cách sử dụng 'a' hoặc 'a+', mọi thao tác tìm kiếm () sẽ được hoàn tác ở lần ghi tiếp theo Nếu tệp chỉ được mở để ghi ở chế độ chắp thêm bằng cách sử dụng 'a', thì phương pháp này về cơ bản là không hoạt động, nhưng nó vẫn hữu ích cho các tệp được mở ở chế độ chắp thêm có bật đọc (chế độ 'a+') Nếu tệp được mở ở chế độ văn bản bằng cách sử dụng 't', chỉ các phần bù được trả về bởi Tell() là hợp lệ. Việc sử dụng các phần bù khác gây ra hành vi không xác định Lưu ý rằng không phải tất cả các đối tượng tệp đều có thể tìm kiếm được cú phápSau đây là cú pháp của phương thức seek() − fileObject.seek(offset[, whence]) Thông số
|