Mảng tofile python
Dữ liệu luôn được ghi theo thứ tự 'C', không phụ thuộc vào thứ tự của một. Dữ liệu do phương pháp này tạo ra có thể được khôi phục bằng hàm fromfile() Tham sốfidfile hoặc str hoặc PathMột đối tượng tệp đang mở hoặc một chuỗi chứa tên tệp Thay đổi trong phiên bản 1. 17. 0. các đối tượng hiện được chấp nhận vách ngănDấu phân cách giữa các mục mảng để xuất văn bản. Nếu “” (trống), tệp nhị phân được ghi, tương đương với Định dạng chuỗi cho đầu ra tệp văn bản. Mỗi mục trong mảng được định dạng thành văn bản trước tiên bằng cách chuyển đổi nó thành loại Python gần nhất, sau đó sử dụng mục “format” % ghi chú Đây là một chức năng tiện lợi để lưu trữ nhanh dữ liệu mảng. Thông tin về độ bền và độ chính xác bị mất, vì vậy phương pháp này không phải là lựa chọn tốt cho các tệp nhằm lưu trữ dữ liệu hoặc truyền dữ liệu giữa các máy có độ bền khác nhau. Một số vấn đề này có thể được khắc phục bằng cách xuất dữ liệu dưới dạng tệp văn bản, với chi phí là tốc độ và kích thước tệp Khi fid là một đối tượng tệp, nội dung mảng được ghi trực tiếp vào tệp, bỏ qua phương thức "Câu trả lời" của tôi thực sự là một nhận xét về các câu trả lời khác nhau. Tôi không thể bình luận vì tôi không có 50 danh tiếng Nếu tệp được đọc lại bởi Python, thì hãy sử dụng mô-đun "Pickle". Một công cụ này có thể đọc và viết nhiều thứ bằng nhị phân Nhưng cách đặt câu hỏi, nói rằng "mã hóa 32 bit của IEEE", có vẻ như tệp sẽ được đọc lại bằng các ngôn ngữ khác. Trong trường hợp đó, byte thứ tự nên được định chỉ. Vấn đề là hầu hết các máy là x86, với đơn đặt hàng ít byte, nhưng ngôn ngữ xử lý dữ liệu số là Java/JVM, sử dụng byte thứ tự lớn. Vì vậy, python "tofile()" sẽ sử dụng C, sử dụng Little Endian để làm ít endian máy chủ, và sau đó mã xử lý dữ liệu trên Java/JVM sẽ giải mã bằng cách sử dụng Big Endian, dẫn đến lỗi To work with JVM
Go to Java
Vấn đề bây giờ là mã Python 0 - hy vọng trình giao dịch không thực sự tạo ra chuỗi "ffffff. "siêu dàiTôi sẽ sử dụng mảng và byte numpy
phương pháp ndarray. tofile (fid, sep = '', format = '%s')#tofile(fid, sep='', format='%s')#Viết mảng vào một tệp dưới định dạng văn bản hoặc nhị phân (mặc định) Dữ liệu luôn được viết theo thứ tự C, độc lập với thứ tự của a. Dữ liệu được tạo bởi phương pháp này có thể được khôi phục bằng cách sử dụng hàm fromfile() Tham sốfidfile or str or pathfid file or str or PathMột tệp đối tượng mở hoặc một chuỗi chứa tên tệp Đã thay đổi trong phiên bản 1. 17. 0. Phân chia giữa các mảng mục cho đầu ra văn bản. Nếu có nghĩa là (trống), một tệp nhị phân đã được viết, tương đương với 3Định dạng strĐịnh dạng chuỗi cho đầu ra tệp văn bản. Mỗi mục trong mảng được định dạng thành văn bản bằng cách trước tiên chuyển đổi nó sang loại python gần nhất, sau đó sử dụng mục định dạng định dạng của định dạng Ghi chú Đây là một chức năng tiện lợi để lưu trữ dữ liệu nhanh chóng. Thông tin về mức độ chính xác và mức độ chính xác bị mất, vì vậy phương pháp này không phải là một lựa chọn tốt cho các tệp Mục đích lưu trữ dữ liệu hoặc vận chuyển dữ liệu giữa các máy có cuối cùng khác nhau. Một số vấn đề này có thể được giải quyết bằng cách xuất dữ liệu dưới dạng tệp văn bản, với tốc độ và kích thước tệp Khi FID là một tệp đối tượng, mảng nội dung được ghi trực tiếp vào tệp, bỏ qua phương thức đối tượng tệp ____ ____. Do đó, TOFILE không thể sử dụng được với các đối tượng tệp hỗ trợ nén (ví dụ:. gzipfile) hoặc các đối tượng giống như tệp không hỗ trợ 4 (ví dụ. byeo)Các tệp "nhị phân" 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 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. Để mở các tệp ở chế độ nhị phân, khi chỉ định chế độ, hãy thêm 'B' vào nó Ví dụf = open('my_file', 'w+b') byte_arr = [120, 3, 255, 0, 100] binary_format = bytearray(byte_arr) f.write(binary_format) f.close() Điều này mở tệp trong chế độ ghi nhị phân và ghi nội dung mảng byte_arr dưới dạng byte trong tệp nhị phân, my_file |