Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7函数在导入后从模块中消失_Python_Python 2.7 - Fatal编程技术网

Python 2.7函数在导入后从模块中消失

Python 2.7函数在导入后从模块中消失,python,python-2.7,Python,Python 2.7,我正在运行一个python脚本,该脚本导入一个函数,然后从一个与函数同名的模块中导入一个类。例如: from antioch import parrot from antioch.parrot import Spam 如果在第一条导入语句后打印help(antioch),则会显示函数下列出的parrot(),但是如果在第二条导入语句后打印help(antioch),函数列表将不再包括parrot()函数 这会在稍后尝试调用函数时导致代码中出现问题,因为我遇到了“模块对象us not calla

我正在运行一个python脚本,该脚本导入一个函数,然后从一个与函数同名的模块中导入一个类。例如:

from antioch import parrot
from antioch.parrot import Spam
如果在第一条导入语句后打印
help(antioch)
,则会显示函数下列出的
parrot()
,但是如果在第二条导入语句后打印
help(antioch)
,函数列表将不再包括
parrot()
函数

这会在稍后尝试调用函数时导致代码中出现问题,因为我遇到了“模块对象us not callable”错误

我意识到,我可以通过将parrot模块重命名为函数的不同名称来避免这个问题,但这将涉及编辑大量代码,似乎是一个不必要的解决方法


有更好的方法解决这个问题吗?

为什么
antioch
包含同名的函数和子模块?!假设这不是一个真正的模块(它完全应该是),你实际使用的是什么?谢谢你的回复jon。我没有编写这部分代码,但希望找到一种解决方案,既不需要编辑也不需要编辑(如果可能的话)。这不是真正的模块名。它实际上叫做ebaysdk,函数和子模块都叫做trading,类叫做ConnectionGiven,你为什么想要它呢?它只是一个存根,告诉您API已经更改。我正在运行一个旧版本的ebaysdk软件,因此我正在使用的版本中的函数是def TRANDING(*args,**kwargs):来自ebaysdk.trading导入连接作为交易返回交易(*args,**kwargs)抱歉-我不知道如何在注释中格式化代码…这仍然不能解释您为什么要访问它。只需根据错误消息使用新样式的导入,您的代码就会继续正常工作。我看不出有什么理由想要访问
antioch.trading
-函数和
antioch.trading
-模块,因为前者只是一个方便的函数,可以实例化后者中的类(顺便说一句,它是backticks
`
)。