Pickling và unpickling là hai quá trình quan trọng trong Python dùng để lưu trữ và phục hồi các đối tượng phức tạp. Chúng chủ yếu được sử dụng để lưu trữ trạng thái của một đối tượng Python (hoặc tập hợp các đối tượng) vào một định dạng nhị phân, có thể dễ dàng ghi vào tệp hoặc truyền qua mạng.
Pickling là quá trình chuyển đổi một đối tượng Python thành một chuỗi byte (binary stream). Điều này cho phép bạn lưu trữ hoặc truyền tải đối tượng này một cách hiệu quả. Python cung cấp mô-đun pickle
để thực hiện quá trình này.
import pickle # Một đối tượng Python (ví dụ: dictionary) data = { 'name': 'Alice', 'age': 30, 'city': 'New York' } # Pickling: Chuyển đổi đối tượng thành chuỗi byte with open('data.pkl', 'wb') as file: pickle.dump(data, file)
Unpickling là quá trình chuyển đổi chuỗi byte (đã được pickle) trở lại thành một đối tượng Python. Điều này cho phép bạn phục hồi trạng thái của đối tượng mà bạn đã lưu trữ trước đó.
import pickle # Unpickling: Chuyển đổi chuỗi byte trở lại thành đối tượng with open('data.pkl', 'rb') as file: loaded_data = pickle.load(file) print(loaded_data) # Output: {'name': 'Alice', 'age': 30, 'city': 'New York'}
Pickling và unpickling là các công cụ mạnh mẽ trong Python cho phép bạn lưu trữ và phục hồi các đối tượng một cách dễ dàng. Chúng rất hữu ích trong nhiều trường hợp, từ lưu trữ dữ liệu đến truyền tải thông tin giữa các ứng dụng. Tuy nhiên, bạn cần phải cẩn thận với an ninh và khả năng tương thích khi sử dụng chúng.