Python,包含导入的函数

时间:2017-01-15 08:06:28

标签: python pandas

我想创建一个包含所有import语句的函数:

def imports():
    import pandas as pd
    import numpy as np
    etc...

将其作为模块保存在.py文件中,并从我的Jupyter Notebook中调用该函数。 这只是为了整理笔记本。但是,它似乎无法创建包含import语句的函数? (我收到错误NameError: name 'pd' is not defined)。谁知道为什么?

3 个答案:

答案 0 :(得分:4)

相反,将所需的所有导入语句放入模块中,正如您通常所说的那样

contents_of_your_module.py

import pandas as pd
import numpy as np
import itertools
import seaborn as sns

然后从Jupyter导入

from contents_of_your_module import *

或者,您可以为模块创建命名空间并执行此操作

import contents_of_you_module as radar

然后您可以通过名称空间访问所有模块

radar.pd.DataFrame

答案 1 :(得分:3)

import pandas as pd创建变量pd。在您的情况下,变量是函数的本地变量,在外部不可见。将导入的模块的快捷方式声明为全局变量:

def imports():
    global pd, np
    import pandas as pd
    import numpy as np

答案 2 :(得分:0)

总的来说,我会说做你想做的事情是一种非常糟糕的做法。如果你想完全按照你所描述的那样做,你就不能用pythonic的方式去做。

但这是一个可能有效的解决方案:

假装你有一个名为imports.py的模块,它应该处理所有的导入:

文件: imports.py: import numpy as np import pandas as pd

您可以在程序中使用某个功能。

def do_funky_import_from(): from imports import *