Làm thế nào để xuất một ô của máy tính xách tay jupyter?


10

Tôi hiện đang làm việc / tạo mẫu vào máy tính xách tay Jupyter . Tôi muốn chạy một số mã của mình trên vỏ iPython độc lập .

Hiện tại, tôi xuất mã iPython của mình (tệp -> tải xuống dưới dạng) và sau đó thực thi mã đó trong iPython của tôi (với% run). Nó hoạt động, nhưng tôi chỉ muốn xuất một ô hoặc một tập hợp các ô. Vì vậy, tôi chỉ có thể chạy những gì tôi đã sửa đổi trong sổ ghi chép Jupyter của mình .


Tôi không chắc liệu nó có ý nghĩa như trong máy tính xách tay jupyter hay không, kernel duy trì trạng thái của các lệnh đã chạy trước đó có thể không phải là trường hợp với lệnh ipython% run.
Rohan Sadale

3
Đối với một ô duy nhất, bạn có thể chỉ cần sao chép và dán hoặc sử dụng ma thuật IPython: 1) %% writefile, xem stackoverflow.com/questions/21034373/ , hoặc 2)% lưu, xem lệnh stackoverflow.com/questions/947810/ .
Valentas

1
@RohanSadale những gì tôi muốn là làm việc cả trong máy tính xách tay jupyter của tôi và trong vỏ ipython của tôi. sổ ghi chép của tôi được tạo để chia sẻ và khi tôi muốn thực hiện lệnh trước đó chạy trên sổ ghi chép của mình nhưng với bộ dữ liệu lớn hơn và kiểm tra một số nội dung trên đó, tôi đã thực hiện trên vỏ ipython của mình.
Manu H

@Valentas bình luận của bạn nên được viết lại như một câu trả lời.
Manu H

Xem câu hỏi liên quan: stackoverflow.com/questions/27952428/
Kẻ

Câu trả lời:


4

Xem câu hỏi ngăn xếp này

Bạn có thể sử dụng lệnh ma thuật %% chụp Jupyter notebook để bắt đầu ra của ô và sau đó dán nó vào tệp văn bản của bạn với

with open('output.txt', 'w') as out:
   out.write(cap.stdout)

nếu bạn muốn mã di động thành tệp cụ thể, ví dụ code.txt, bạn có thể sử dụng hàm ma thuật %% writefile

%%writefile example.txt
ab = 'This is code'
a = 5
print(a+ 2)

Ngoài ra nếu bạn muốn nối thêm vào tập tin, bạn phải sử dụng tham số -a


Tôi nghĩ rằng bạn hiểu sai câu hỏi. Những gì tôi muốn xuất không phải là kết quả của một ô mà là mã tôi đã viết vào ô đó.
Manu H

ipython.readthedocs.io/en/urdy/interactive/magics.html Sau đó, bạn có thể sử dụng hàm ma thuật writefile %%
R__A_a_

1

Tôi không chắc có thể chỉ xuất một ô trong sổ ghi chép Jupyter hay không .

Nhưng tôi biết rằng bạn có thể tải xuống dưới dạng tệp python và chỉ cần sao chép dán vào ô cụ thể mà bạn muốn trong sổ ghi chép Jupyter mới của bạn .

Hãy cho tôi biết nếu bạn cần thêm sự giúp đỡ!


0

Một cách có thể được thực hiện là sử dụng hệ thống bộ đệm đầu ra của Python để truy cập vào đầu ra của một ô để có thể lưu nó vào một tệp. Đầu ra từ một ô được đánh số x được lưu trữ trong một biến có tên _xvà đầu ra từ lệnh cuối cùng nằm trong _v.v. Ví dụ: Lưu đầu ra của ô số 10 vào một tệp cell_10.picklebằng định dạng dưa của python:

import pickle
with open('cell_10.pickle', 'wb') as f:
    pickle.dump(_10, f, pickle.HIGHEST_PROTOCOL)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.