Bạn vừa trải qua một quá trình tốn thời gian để tải một loạt dữ liệu vào một đối tượng python. Có thể bạn đã cạo dữ liệu từ hàng ngàn trang web. Có thể bạn đã tính toán hàng triệu chữ số của số pi. Nếu pin máy tính xách tay của bạn bị chết hoặc nếu python gặp sự cố, thông tin của bạn sẽ bị mất
Pickling cho phép bạn lưu một đối tượng python dưới dạng tệp nhị phân trên ổ cứng của bạn. Sau khi chọn đối tượng của mình, bạn có thể tắt phiên python của mình, khởi động lại máy tính nếu muốn và sau đó tải lại đối tượng của bạn vào python
Bạn có thể sao lưu tệp dưa chua của mình vào Google Drive hoặc DropBox hoặc một thanh USB cũ đơn giản nếu bạn muốn. Bạn có thể gửi email cho một người bạn
Một lời cảnh báo. không tải dưa chua mà bạn không tin tưởng. Những người có ý đồ xấu có thể tạo các tập hợp độc hại có thể thực thi mã không mong muốn trên máy tính của bạn [tiêm SQL, ép buộc mật khẩu, v.v.]. Tránh xa dưa chua xấu
import pickle
# make an example object to pickle
some_obj = {'x':[4,2,1.5,1], 'y':[32,[101],17], 'foo':True, 'spam':False}
Để tiết kiệm dưa chua, hãy sử dụng
with open['mypickle.pickle', 'wb'] as f:
pickle.dump[some_obj, f]
# note that this will overwrite any existing file
# in the current working directory called 'mypickle.pickle'
8Một quy ước là đặt tên cho các tệp dưa chua là
with open['mypickle.pickle', 'wb'] as f:
pickle.dump[some_obj, f]
# note that this will overwrite any existing file
# in the current working directory called 'mypickle.pickle'
9, nhưng bạn có thể đặt tên cho nó theo bất cứ thứ gì bạn muốnĐảm bảo
del some_obj
print some_obj
0 tệp ở chế độ del some_obj
print some_obj
1 [ghi nhị phân]. Chế độ này thân thiện với nhiều nền tảng hơn chế độ del some_obj
print some_obj
2 [viết văn bản] có thể không hoạt động trên Windows, v.v.with open['mypickle.pickle', 'wb'] as f:
pickle.dump[some_obj, f]
# note that this will overwrite any existing file
# in the current working directory called 'mypickle.pickle'
Với mục đích trình diễn, tôi sẽ xóa đối tượng ban đầu khỏi bộ nhớ để cho bạn thấy rằng nó thực sự đã biến mất
del some_obj
print some_obj
________số 8
Tải tệp đã chọn từ ổ cứng của bạn đơn giản như
del some_obj
print some_obj
3 và chỉ định đường dẫn tệpwith open['mypickle.pickle', 'wb'] as f:
pickle.dump[some_obj, f]
# note that this will overwrite any existing file
# in the current working directory called 'mypickle.pickle'
0with open['mypickle.pickle', 'wb'] as f:
pickle.dump[some_obj, f]
# note that this will overwrite any existing file
# in the current working directory called 'mypickle.pickle'
1DataFrames ngâm gấu trúcPandas có chức năng tẩy rất dễ sử dụng. Trước tiên, chúng tôi sẽ tạo một khung dữ liệu mẫu
with open['mypickle.pickle', 'wb'] as f:
pickle.dump[some_obj, f]
# note that this will overwrite any existing file
# in the current working directory called 'mypickle.pickle'
2abcdefghijk00123456789101100101102103104105106107108109NaN
gấu trúc. Khung dữ liệu. to_pickle
Lưu khung dữ liệu vào tệp dưa chua có tên là
del some_obj
print some_obj
4 trong thư mục làm việc hiện tạiSau đó, với mục đích trình diễn lại, tôi sẽ xóa DataFrame gốc
with open['mypickle.pickle', 'wb'] as f:
pickle.dump[some_obj, f]
# note that this will overwrite any existing file
# in the current working directory called 'mypickle.pickle'
4gấu trúc. Khung dữ liệu. read_pickle
Để tải khung dữ liệu đã chọn, chỉ cần làm
with open['mypickle.pickle', 'wb'] as f:
pickle.dump[some_obj, f]
# note that this will overwrite any existing file
# in the current working directory called 'mypickle.pickle'
5abcdefghijk00123456789101100101102103104105106107108109NaN
Và đó là tất cả những gì bạn cần biết để tẩy đơn giản trong python
Đó là một cách dễ dàng để sao lưu các đối tượng quan trọng, chuyển các đối tượng giữa các tập lệnh hoặc thậm chí gửi một đối tượng python qua email cho một pythonista khác [nhưng họ không nên mở nó trừ khi họ chắc chắn rằng bạn không đưa cho họ một thứ độc hại…]