首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中导入多个包宏

在Python中导入多个包宏
EN

Stack Overflow用户
提问于 2019-09-12 23:26:29
回答 1查看 81关注 0票数 0

我的大多数jupyter笔记本通常都以一长串要导入的常用软件包开始。例如,

代码语言:javascript
复制
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
...

例如,我尝试将以下内容放入util.py

代码语言:javascript
复制
def import_usual_packages():
    import pandas as pd
    import numpy as np
    import seaborn as sns
    import matplotlib.pyplot as plt

在主笔记本中:

代码语言:javascript
复制
import util
util.import_usual_packages()

所以最终的效果是我仍然可以调用通常的包,而不使用额外的名称空间,例如

代码语言:javascript
复制
pd.DataFrame()

目前,这不适用于我上面所拥有的内容。例如,pd没有定义。

我知道我可以简单地将import pandas as pd放在util文件的顶部,然后从util import *运行,但这不是我想要的。将它放在函数中可以给我额外的控制。例如,我可以在同一个util文件中有两个不同的函数,分别称为import_usual_packages()import_plotting_packages(),这两个函数调用不同的程序包组,这样在我的笔记本中,我就可以简单地调用

代码语言:javascript
复制
import_usual_packages()
import_plotting_packages()

而不是让10+代码每次都调用相同的东西。这纯粹是个人使用的,所以我不关心其他人是否不理解正在发生的事情(事实上,在某些情况下这可能是一件好事)。

EN

回答 1

Stack Overflow用户

发布于 2019-09-12 23:44:13

只需稍加修改,您的方法就可以正常工作。在util.py

代码语言:javascript
复制
def import_usual_packages():
    global pd, np    # Make the names pd & np global
    import pandas as pd
    import numpy as np

main.py

代码语言:javascript
复制
import utils

utils.import_usual_packages()

utils.pd.DataFrame()  # access via the utils namespace

不过,这绝对不是最干净的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57909989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档