我的大多数jupyter笔记本通常都以一长串要导入的常用软件包开始。例如,
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
...例如,我尝试将以下内容放入util.py
def import_usual_packages():
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt在主笔记本中:
import util
util.import_usual_packages()所以最终的效果是我仍然可以调用通常的包,而不使用额外的名称空间,例如
pd.DataFrame()目前,这不适用于我上面所拥有的内容。例如,pd没有定义。
我知道我可以简单地将import pandas as pd放在util文件的顶部,然后从util import *运行,但这不是我想要的。将它放在函数中可以给我额外的控制。例如,我可以在同一个util文件中有两个不同的函数,分别称为import_usual_packages()和import_plotting_packages(),这两个函数调用不同的程序包组,这样在我的笔记本中,我就可以简单地调用
import_usual_packages()
import_plotting_packages()而不是让10+代码每次都调用相同的东西。这纯粹是个人使用的,所以我不关心其他人是否不理解正在发生的事情(事实上,在某些情况下这可能是一件好事)。
发布于 2019-09-12 23:44:13
只需稍加修改,您的方法就可以正常工作。在util.py中
def import_usual_packages():
global pd, np # Make the names pd & np global
import pandas as pd
import numpy as np在main.py中
import utils
utils.import_usual_packages()
utils.pd.DataFrame() # access via the utils namespace不过,这绝对不是最干净的方法。
https://stackoverflow.com/questions/57909989
复制相似问题