Bạn có thể lưu đối tượng python vào tệp không?

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'
8

Mộ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ệp

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'
0

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'
1

DataFrames ngâm gấu trúc

Pandas 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'
2

abcdefghijk00123456789101100101102103104105106107108109NaN

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ại

Sau đó, 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'
4

gấ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'
5

abcdefghijk00123456789101100101102103104105106107108109NaN

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…]

Hàm hoặc phương thức nào cho phép bạn lưu đối tượng vào tệp Python?

Pickling là một phương thức để chuyển đổi một đối tượng [danh sách, chính tả, v.v.] thành tệp và ngược lại. Ý tưởng là lưu một hoặc nhiều đối tượng trong một tập lệnh và tải chúng vào một tập lệnh khác. Bạn cũng có thể sử dụng nó để lưu trạng thái chương trình hoặc trò chơi.

Pickle có cứu được đối tượng nào không?

Mô-đun pickle có thể lưu trữ những thứ như kiểu dữ liệu như booleans, chuỗi và mảng byte, danh sách, từ điển, hàm, v.v. Ghi chú. Khái niệm tẩy còn được gọi là tuần tự hóa, sắp xếp theo thứ tự và làm phẳng. Tuy nhiên, vấn đề luôn giống nhau— để lưu một đối tượng vào tệp để truy xuất sau này .

Có đối tượng tệp trong Python không?

Trong python, quyền truy cập vào các tệp được cung cấp thông qua một đối tượng tệp, đối tượng này được tạo bằng cách gọi hàm open dựng sẵn . Khi một đối tượng như vậy được tạo, một số lượng lớn các phương thức có sẵn để truy cập tệp, cả để đọc và ghi. Hàm mở có từ một đến ba đối số.

Làm cách nào để lưu dữ liệu Python?

Nhấp chuột phải vào cửa sổ Python và chọn Lưu dưới dạng để lưu mã của bạn dưới dạng tệp Python [. py] hoặc tệp Văn bản [. txt]. Nếu lưu vào tệp Python, chỉ có mã Python sẽ được lưu.

Chủ Đề