【JupyterNotebook-03】jupyter notebook項目管理——.ipynb中調用.py文件


目錄

  1. 怎么在.ipynb.py中調用.py文件
  2. Jupyter Notebook中運行.py文件
  3. 調用自己的包
  4. 總結

一、怎么在.ipynb.py中調用.py文件

在同一個目錄下,有word2vec.ipynb和utils.py兩個文件:

在這里插入圖片描述

在同一個目錄下,有call_hello.ipynb和hello.py兩個文件:

hello.py中定義了hello函數如下:

def hello():

print('say hello');

在call_hello.ipynb中調用hello()函數:

   

第一次調用:

from hello import *

hello()

輸出: say hello

   

重新導入hello模塊:

但是修改.py文件中的代碼后,必須在ipynb中reload模塊,才會生效。

   

如果hello.py中的代碼修改成:

   

def hello():

print('say hello,bye');

在call_hello.ipynb中再次調用hello()函數,依然輸出:say hello

   

from imp import reload

import(hello) #注意這里是.py的名稱

reload(hello)

hello.hello() #第一個是py的名稱,后面是函數

這時候會輸出:say hello, bye

   

二、Jupyter Notebook中運行.py文件

問題描述:文件夾下有xx.py格式的python文件,想要在Jupyter Notebook中運行該文件。

解決辦法:

2.1 (主要)方法1.

利用 %run xx.py ,若是再test文件夾下,可以:%run ./test/xx.py

直接運行得出結果。

方法2:

利用 %load xx.py

載入代碼再點擊Run運行,這種方法的好處是可以方便修改代碼。

說明:

Jupyter Notebook中以%開頭的代碼為魔法函數

其中:

%run 調用外部python腳本

%load 加載本地文件

三、調用自己的包

在打開的文件中file->download as->.py,這樣就保存成.py文件了

注意這和把文件"a.ipynb" 在jupyter中直接rename成"a.py"是不一樣的

把這個文件放在同一文件夾下

四、總結

建議使用:

重新導入 xx.py模塊的用法;

或者 %load xx.py 直接調到本地來

參考文獻

  1. jupyter notebook的project管理——.ipynb中調用.py文件
  2. Jupyter Notebook中運行.py文件
  3. Python中使用import和reload()出現錯誤的原因
  4. jupyter notebook參數化運行python
  5. https://blog.csdn.net/zllnau66/article/details/81510089


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM