Sử Dụng Pickle để Lưu đối Tượng Trong Python - EFERRIT.COM

Pickle, là một phần của thư viện Python theo mặc định, là một mô-đun quan trọng bất cứ khi nào bạn cần sự kiên trì giữa các phiên người dùng. Là một mô-đun, pickle cung cấp cho việc lưu các đối tượng Python giữa các tiến trình.

Cho dù bạn đang lập trình cho một cơ sở dữ liệu , trò chơi, diễn đàn hay một số ứng dụng khác phải lưu thông tin giữa các phiên, thì dưa chuột rất hữu ích để lưu số nhận dạng và cài đặt. Mô-đun dưa có thể lưu trữ những thứ như các loại dữ liệu như boolean, chuỗi và mảng byte, danh sách, từ điển, hàm và nhiều thứ khác.

Lưu ý: Khái niệm về tẩy cũng được gọi là serialization, marshaling, và làm phẳng. Tuy nhiên, điểm luôn giống nhau — để lưu một đối tượng vào một tệp để truy xuất sau này. Pickling hoàn thành điều này bằng cách viết đối tượng dưới dạng một luồng dài các byte.

Mã ví dụ Pickle bằng Python

Để viết một đối tượng vào một tệp, bạn sử dụng mã theo cú pháp sau:

đối tượng pickle nhập khẩu = Object () filehandler = open (tên tập tin, 'w') pickle.dump (đối tượng, filehandler)

Đây là một ví dụ trong thế giới thực trông như thế nào:

nhập khẩu pickle nhập khẩu math object_pi = math.pi file_pi = mở ('filename_pi.obj', 'w') pickle.dump (object_pi, file_pi)

Đoạn mã này ghi nội dung của object_pi vào tệp tin handler file_pi , do đó nó được gắn với tệp filename_pi.obj trong thư mục thực hiện.

Để khôi phục giá trị của đối tượng vào bộ nhớ, hãy tải đối tượng từ tệp. Giả sử rằng dưa chưa được nhập để sử dụng, hãy bắt đầu bằng cách nhập nó:

importle filehandler = open (tên tập tin, 'r') object = pickle.load (filehandler)

Mã sau khôi phục giá trị của pi:

importle file_pi2 = open ('filename_pi.obj', 'r') object_pi2 = pickle.load (file_pi2)

Đối tượng sau đó đã sẵn sàng để sử dụng một lần nữa, lần này là object_pi2 . Bạn có thể, tất nhiên, tái sử dụng tên ban đầu, nếu bạn thích.

Ví dụ này sử dụng tên riêng biệt để rõ ràng.

Những điều cần nhớ về Pickle

Hãy ghi nhớ những điều này khi sử dụng mô-đun dưa chuột:

  • Giao thức pickle dành riêng cho Python - nó không được đảm bảo tương thích với ngôn ngữ chéo. Bạn hầu như không thể chuyển thông tin để làm cho thông tin hữu ích trong Perl, PHP, Java hoặc các ngôn ngữ khác.
  • Cũng không có sự đảm bảo về tính tương thích giữa các phiên bản Python khác nhau. IThe không tương thích tồn tại vì không phải mọi cấu trúc dữ liệu Python đều có thể được tuần tự hóa bởi mô-đun.
  • Theo mặc định, phiên bản mới nhất của giao thức dưa được sử dụng. Nó vẫn như vậy trừ khi bạn tự thay đổi nó.

Mẹo: Cũng tìm hiểu cách sử dụng giá đỡ để lưu các đối tượng trong Python cho một phương pháp duy trì tính liên tục đối tượng khác.

Từ khóa » Thư Viện Pickle