当前位置:网站首页>Call (import) in Jupiter notebook ipynb . Py file
Call (import) in Jupiter notebook ipynb . Py file
2022-07-08 01:24:00 【Bosong】
Catalog
(1) preservation XX.ipynb file
(2) establish Ipynb_importer.py file
(3) Where the main function is created .ipynb file
In order to ensure the simplicity and good scalability of the code , Instead of a file filled with hundreds of lines of code, I moved myself , It's better to divide the detachable part into several documents for later understanding by yourself and others .
1. call XX.py file
Guarantee XX.py Files and operation files are in one directory , Then in the operation file import XX( perhaps from XX import *), Then call XX Functions you need in func Or class class——XX.func()( perhaps func()).
2. call XX.ipynb file
2.1 direct method
hold XX.ipynb Derivation .py file (File– download as– Python(.py)), reference 1. Medium method , call .
Applicable conditions : call 1 individual or No more than 3 individual .ipynb file
2.2 indirect method
(1) preservation XX.ipynb file
(2) establish Ipynb_importer.py file
The code is as follows :
import io, os,sys,types
from IPython import get_ipython
from nbformat import read
from IPython.core.interactiveshell import InteractiveShell
# The main class
class NotebookFinder(object):
"""Module finder that locates Jupyter Notebooks"""
def __init__(self):
self.loaders = {}
def find_module(self, fullname, path=None):
nb_path = find_notebook(fullname, path)
if not nb_path:
return
key = path
if path:
# lists aren't hashable
key = os.path.sep.join(path)
if key not in self.loaders:
self.loaders[key] = NotebookLoader(path)
return self.loaders[key]
def find_notebook(fullname, path=None):
"""find a notebook, given its fully qualified name and an optional path
This turns "foo.bar" into "foo/bar.ipynb"
and tries turning "Foo_Bar" into "Foo Bar" if Foo_Bar does not exist."""
name = fullname.rsplit('.', 1)[-1]
if not path:
path = ['']
for d in path:
nb_path = os.path.join(d, name + ".ipynb")
if os.path.isfile(nb_path):
return nb_path
# let import Notebook_Name find "Notebook Name.ipynb"
nb_path = nb_path.replace("_", " ")
if os.path.isfile(nb_path):
return nb_path
class NotebookLoader(object):
"""Module Loader for Jupyter Notebooks"""
def __init__(self, path=None):
self.shell = InteractiveShell.instance()
self.path = path
def load_module(self, fullname):
"""import a notebook as a module"""
path = find_notebook(fullname, self.path)
print ("importing Jupyter notebook from %s" % path)
# load the notebook object
with io.open(path, 'r', encoding='utf-8') as f:
nb = read(f, 4)
# create the module and add it to sys.modules
# if name in sys.modules:
# return sys.modules[name]
mod = types.ModuleType(fullname)
mod.__file__ = path
mod.__loader__ = self
mod.__dict__['get_ipython'] = get_ipython
sys.modules[fullname] = mod
# extra work to ensure that magics that would affect the user_ns
# actually affect the notebook module's ns
save_user_ns = self.shell.user_ns
self.shell.user_ns = mod.__dict__
try:
for cell in nb.cells:
if cell.cell_type == 'code':
# transform the input to executable Python
code = self.shell.input_transformer_manager.transform_cell(cell.source)
# run the code in themodule
exec(code, mod.__dict__)
finally:
self.shell.user_ns = save_user_ns
return mod
# Call the main function
sys.meta_path.append(NotebookFinder())
Just put it in our working directory Ipynb_importer.py file , You can call all jupyter notebook file .
The essence of this method is to use a jupyter notenook The parser checks .ipynb File parsing , Load each module in the file into memory for others python A file called .
(3) Where the main function is created .ipynb file
import Ipynb_importer
from XX import *
Applicable conditions : Call multiple .ipynb file
.ipynb It still takes some trouble to call files of the same type , But now that I have chosen TA, Mostly for TA Don't you think it's better to spend some time TA Love >_<
Ha ha ha , Finish the above sentence , Suddenly realize that today is also Valentine's day —— Take care of what you love , Accompany your loved ones , May everyone find that TA, Happy Valentine's Day **ヽ(°▽°)ノ*
边栏推荐
- Macro definition and multiple parameters
- Gnuradio transmits video and displays it in real time using VLC
- Overall introduction of the project
- General configuration tooltip
- Guojingxin center "friendship and righteousness" - the meta universe based on friendship and friendship, and the parallel of "honguniverse"
- Vscode reading Notepad Chinese display garbled code
- 6. Dropout application
- A speed Limited large file transmission tool for every major network disk
- 2021 tea master (primary) examination materials and tea master (primary) simulation test questions
- Talk about smart Park
猜你喜欢
EDP to LVDS conversion design circuit | EDP to LVDS adapter board circuit | capstone/cs5211 chip circuit schematic reference
2. Nonlinear regression
Recommend a document management tool mendely Reference Manager
Ag9310meq ag9310mfq angle two USB type C to HDMI audio and video data conversion function chips parameter difference and design circuit reference
Basic realization of line chart (II)
130. 被圍繞的區域
10. CNN applied to handwritten digit recognition
Common fault analysis and Countermeasures of using MySQL in go language
Redis集群
Guojingxin center "APEC education +" Shanghai Jiaotong University Japan Cooperation Center x Fudan philosophy class "Zhe Yi" 2022 New Year greetings
随机推荐
133. Clone map
Basic implementation of pie chart
4. Apprentissage stratégique
Su embedded training - Day7
Codeforces Round #804 (Div. 2)
11. Recurrent neural network RNN
5、离散控制与连续控制
Introduction to the types and repair methods of chip Eco
Authorization code of Axure rp9
Share a latex online editor | with latex common templates
High quality USB sound card / audio chip sss1700 | sss1700 design 96 kHz 24 bit sampling rate USB headset microphone scheme | sss1700 Chinese design scheme explanation
Measure the voltage with analog input (taking Arduino as an example, the range is about 1KV)
Leetcode notes No.7
2022 examination for safety production management personnel of hazardous chemical production units and new version of examination questions for safety production management personnel of hazardous chem
Understanding of sidelobe cancellation
Connect to the previous chapter of the circuit to improve the material draft
Markdown learning (entry level)
2022 operation certificate examination for main principals of hazardous chemical business units and main principals of hazardous chemical business units
Swift get URL parameters
The communication clock (electronic time-frequency or electronic time-frequency auxiliary device) writes something casually