亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

解決Jupyter notebook中.py與.ipynb文件的import問題

 更新時間:2020年04月21日 15:33:51   作者:wyr_rise  
這篇文章主要介紹了解決Jupyter notebook中.py與.ipynb文件的import問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

在jupyter notebook中,因為其解析文件的方式是基于json的,所以其默認保存的文件格式不是.py而是.ipynb。而.ipynb文件并不能簡單的import進.py或者.ipynb文件中,這就為開發(fā)帶來了極大不便。因為在jupyter notebook中,一定要是在默認的.ipynb下才能有一系列的特性支持,比如自動補全,控制臺等待,而.py文件只能通過文本編輯器修改,非常非常不便。

因為.ipynb可以import .py的module,所以其中一個解決方法是將已經(jīng)寫好的.ipynb格式的module轉(zhuǎn)換成.py文件。在寫好的.ipynb文件的最后新建一個cell,寫入代碼如下:

try:  
  !jupyter nbconvert --to python file_name.ipynb
  # python即轉(zhuǎn)化為.py,script即轉(zhuǎn)化為.html
  # file_name.ipynb即當(dāng)前module的文件名
except:
  pass

然后在當(dāng)前目錄下會生成一個同名的.py文件,這個module可以在其他.ipynb中被import。但這樣轉(zhuǎn)化出的.py文件中有時候會保留上述代碼。如果要完全避免的話,可以專門另寫一個轉(zhuǎn)換文件,集中存放所有文件的轉(zhuǎn)換語句。

補充知識:jupyter notebook的project管理——.ipynb中調(diào)用.py文件

做課題和數(shù)據(jù)挖掘競賽用python比較多,比較常用的是在服務(wù)器終端輸入jupyter notebook --ip 0.0.0.0,打開jupyter notebook的一個后臺,并在本地windows電腦瀏覽器進入該服務(wù)端寫python代碼。

將.ipynb和.py結(jié)合,可以使得jupyter notebook的工程文件目錄更有條理,一些函數(shù)可以定義在.py文件中,需要調(diào)用這些文件時,就導(dǎo)入到.ipybn中執(zhí)行。

那在jupyter notebook中調(diào)用同,怎么在.ipynb.py中調(diào)用.py文件呢?

舉個栗子:

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

hello.py中定義了hello函數(shù)如下:

def hello():
print('say hello');

在call_hello.ipynb中調(diào)用hello()函數(shù):

from hello import *
hello()

輸出: say hello

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

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

def hello():
print('say hello,bye');

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

重新導(dǎo)入hello模塊:

from imp import reload
reload(hello)
hello()

這時候會輸出:say hello, bye

bingo!

以上這篇解決Jupyter notebook中.py與.ipynb文件的import問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • django 單表操作實例詳解

    django 單表操作實例詳解

    這篇文章主要介紹了django 單表操作實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • Python使用jsonpath-rw模塊處理Json對象操作示例

    Python使用jsonpath-rw模塊處理Json對象操作示例

    這篇文章主要介紹了Python使用jsonpath-rw模塊處理Json對象操作,結(jié)合實例形式分析了Python使用requests與response處理json的方法,并給出了jsonpath_rw模塊操作json對象的基本示例,需要的朋友可以參考下
    2018-07-07
  • 通過Python編程將CSV文件導(dǎo)出為PDF文件的方法

    通過Python編程將CSV文件導(dǎo)出為PDF文件的方法

    CSV文件通常用于存儲大量的數(shù)據(jù),而PDF文件則是一種通用的文檔格式,便于與他人共享和打印,將CSV文件轉(zhuǎn)換成PDF文件可以幫助我們更好地管理和展示數(shù)據(jù),本文將介紹如何通過Python編程將CSV文件導(dǎo)出為PDF文件,需要的朋友可以參考下
    2024-06-06
  • Python光學(xué)仿真wxpython透鏡演示系統(tǒng)初始化與參數(shù)調(diào)節(jié)

    Python光學(xué)仿真wxpython透鏡演示系統(tǒng)初始化與參數(shù)調(diào)節(jié)

    這篇文章主要為大家介紹了Python光學(xué)仿真wxpython透鏡演示系統(tǒng)的初始化與參數(shù)調(diào)節(jié),同樣在學(xué)習(xí)wxpython透鏡演示系統(tǒng)的入門同學(xué)可以借鑒參考下,希望能夠有所幫助
    2021-10-10
  • 嘗試用最短的Python代碼來實現(xiàn)服務(wù)器和代理服務(wù)器

    嘗試用最短的Python代碼來實現(xiàn)服務(wù)器和代理服務(wù)器

    "人生苦短、我用Python",Python最大的特點便是代碼簡潔,得益于Python自帶的wsgiref包和socket模塊,這里我們將嘗試用最短的Python代碼來實現(xiàn)服務(wù)器和代理服務(wù)器:
    2016-06-06
  • 對python中的 os.mkdir和os.mkdirs詳解

    對python中的 os.mkdir和os.mkdirs詳解

    今天小編就為大家分享一篇對python中的 os.mkdir和os.mkdirs詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python執(zhí)行l(wèi)inux系統(tǒng)命令的三種方式小結(jié)

    python執(zhí)行l(wèi)inux系統(tǒng)命令的三種方式小結(jié)

    本文介紹三種在python執(zhí)行l(wèi)inux命令的方式,三種方式都是基于python的標(biāo)準(zhǔn)庫實現(xiàn),因此不需要額外安裝第三方庫,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • python中使用.py配置文件的方法詳解

    python中使用.py配置文件的方法詳解

    這篇文章主要介紹了python中使用.py配置文件的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Python for i in range ()用法詳解

    Python for i in range ()用法詳解

    今天小編就為大家分享一篇Python for i in range ()用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 從零學(xué)Python之引用和類屬性的初步理解

    從零學(xué)Python之引用和類屬性的初步理解

    Python是一種解釋型、面向?qū)ο蟆討B(tài)數(shù)據(jù)類型的高級程序設(shè)計語言。自從20世紀(jì)90年代初Python語言誕生至今,它逐漸被廣泛應(yīng)用于處理系統(tǒng)管理任務(wù)和Web編程。Python已經(jīng)成為最受歡迎的程序設(shè)計語言之一。2011年1月,它被TIOBE編程語言排行榜評為2010年度語言。自從2004年以后,python的使用率是呈線性增長。
    2014-05-05

最新評論