簡體   English   中英

從 Jupyter Notebook 運行並保存到 .py 文件

[英]Run from and save to .py file from Jupyter Notebook

在我的舊電腦上,我能夠從 Jupyter Notebook 運行 .py 文件,編輯並運行它們。 .py 文件實際上是一個用於所有意圖和目的的筆記本文件。 我更新到了最新版本的 notebook,我再也無法這樣做了。 如何在筆記本上使用 .py 文件?

我知道有一些迂回的方法可以做到這一點。 我正在尋找一種方法,當您在筆記本中時,不是打開 .ipynb 文件,而是選擇一個打開的 .py 文件,其行為類似於 .ipnyb。 當您保存它時,它會寫入 .py。

可以使用魔術命令 %load 在筆記本單元格中加載文本文件。

如果您執行包含以下內容的單元格:

%loadpy filename.py


filename.py的內容將在下一個單元格中加載。 您可以像往常一樣編輯和執行它。

要將單元格內容保存回文件,請添加 cell-magic
%%writefile filename.py
在單元格的開頭並運行它。

要查看任何魔術命令的幫助,請添加? : 像%loadpy? %%writefile? .
%COMMAND-NAME?
%run?

有關可用魔法函數的列表,請使用%lsmagic 或者,還有另一種稱為%save-f方法魔術函數,但我不建議這樣做,它是一種間接保存文件的方法。

另見——
1. 魔法函數文檔
2.this nbviewer用例子進一步解釋。

希望這可以幫助。

這不是確切的答案。 有一次,我能夠使用 python notebook 打開 .py 文件,並像處理 notebook 文件一樣處理它。

但是,我已經能夠使用 VScode 復制這種行為。

https://code.visualstudio.com/docs/python/jupyter-support-py

使用 VScode,您可以將所有 .ipynb 文件導出為 .py 文件,然后運行代碼塊。 代碼塊由# %%分隔。

我還沒有使用它足夠長的時間來決定它是否比 python notebook 更好,但這似乎是迄今為止最好的解決方案。 我之前嘗試過使用 Atom/Hydrogen,但並不喜歡這種體驗。

您可以使用以下代碼將單個單元格保存為文件: %%writefile some_file_name.py

您可以使用以下代碼直接從術語或另一個筆記本中%run some_file_name.py該代碼: %run some_file_name.py

一些編輯器(如 spyder 和 vscode)具有 jupyter notebook 功能。 如果 jupyter 安裝在 python 環境中,則可以使用這些。

您可以通過在代碼塊頂部添加 #%% 來使用它。 (在 vscode 中,“運行單元格”按鈕會自動出現)

也可以將 .ipynb 導入為 .py,它可以運行在上面的花式解密中。

我剛剛找到了這個包p2j並用一個帶有函數、注釋和普通代碼的 .py 文件對其進行了測試。

我按照本答案中的說明使用它,方法如下:

pip install p2j
p2j -o script.py -t new_file.ipynb

您還可以添加 -o 標志來覆蓋原始文件。

有了這個,我得到了一個工作的 Jupiter Notebook,每個代碼塊都在一個單元格中,注釋作為降價。

例子:

原始 .py 腳本

原始.pz

轉換后的 .ipynb

轉換后的 .ipynb

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM