Python模块全局导入

Python模块全局导入,python,module,Python,Module,我的问题似乎很简单,但我找不到答案。 我创建了一个具有以下结构的项目: 我的项目:main.py 我的项目/src:data.py 在主程序中,我导入pandas和data.py 在data.py中,我也使用了pandas,但由于未找到模块pandas,因此出现了一条错误消息。我需要集成到data.py:导入熊猫作为pd来使用它 所以我的问题很简单:我如何只打一个电话给pandas(在main.py)就可以在我所有的项目中访问它 这是不可能的,但您可以执行以下操作: 在src/data.py

我的问题似乎很简单,但我找不到答案。 我创建了一个具有以下结构的项目:

  • 我的项目:main.py
  • 我的项目/src:data.py
在主程序中,我导入pandas和data.py

data.py中,我也使用了pandas,但由于未找到模块pandas,因此出现了一条错误消息。我需要集成到data.py
导入熊猫作为pd
来使用它


所以我的问题很简单:我如何只打一个电话给pandas(在main.py)就可以在我所有的项目中访问它

这是不可能的,但您可以执行以下操作:

src/data.py中,包含您想要与熊猫一起使用的任何数据,例如:

data={'a':[1,2,3,4],'b':[5,6,7,8]}
然后在main.py中:

将熊猫作为pd导入
从src.data导入*
打印(pd.数据帧(数据))
将生成以下输出:

   a  b
0  1  5
1  2  6
2  3  7
3  4  8
   A  B  C
0  1  4  7
1  2  5  8
2  3  6  9

编辑: 如果确实不想在data.py中再次导入熊猫,但必须在该文件中使用熊猫的功能,可以执行以下操作:

main.py:

{"A":[1,2,3], "B":[4,5,6], "C":[7,8,9]}
将熊猫作为pd导入
从src.data导入*
dl=DataLoader(pd,'src/dict.json')
打印(dl.get_data())
src/data.py:

{"A":[1,2,3], "B":[4,5,6], "C":[7,8,9]}
类数据加载器:
定义初始化(self,pd,_文件):
self.file=\u文件
self.pd=pd
def get_数据(自身):
返回self.pd.read_json(self.file)
src/dict.json:

{"A":[1,2,3], "B":[4,5,6], "C":[7,8,9]}
在这里,您将
pandas
传递到data.py文件中的类
DataLoader
,从而在data.py文件中使用其功能,而无需按要求将其导入该文件

为完整起见,我建议的代码生成以下输出:

   a  b
0  1  5
1  2  6
2  3  7
3  4  8
   A  B  C
0  1  4  7
1  2  5  8
2  3  6  9

你不能。每个使用
numpy
的模块都必须导入一些东西,以便为其全局命名空间添加适当的名称。呃,
pandas
,而不是
numpy
。请提供您在文件中执行的代码位。因此我需要调用pandas两次?这意味着我在内存中有两次pandas?或者python会自动管理它?在我的建议中,Pandas只被调用过一次。src/data.py只包含
data={'a':[1,2,3,4],'b':[5,6,7,8]}
,没有其他代码行。我不能做您建议的解决方案。在main.py中,我必须调用pandas,在data.py中也是如此。因此,我需要在main和data中调用两次pandas。请提供一个示例,说明在data.py中调用pandas的位置