我对python还很陌生,学习python的时间不长。我有一个主文件
import Tests
from Tests import CashAMDSale
CashAMDSale.AMDSale()
和现金销售
import pyodbc
import DataFunctions
import automa
from DataFunctions import *
from automa.api import *
def AMDSale():
AMDInstance = DataFunctions.GetValidAMD()
这是格瓦利达姆
import pyodbc
def ValidAMD(GetValidAMD):
(short method talking to a database)
我的错误出现在AMDInstance = DataFunctions.GetValidAMD()
行上
我得到错误AttributeError: 'module' object has no attribute 'GetValidAMD'
我一直在寻找答案,但什么都没有成功。有什么想法吗?谢谢!你知道吗
DataFunctions
是一个文件夹,这意味着它是一个包,必须包含一个__init__.py
文件,python才能识别它。你知道吗从包导入*时,不会自动导入它的所有模块。这在docs中有记录
因此,要使代码正常工作,您需要显式导入所需的模块:
或者您需要在
DataFunctions
的__init__.py
中添加以下内容:然后可以从包中
import *
导入__all__
中侦听的所有内容查看this。你知道吗
同样的问题。您正在导入
DataFunctions
,它是一个模块。我解释了在这个模块中有一个名为DataFunctions的类,它需要用当您创建文件
foo.py
时,您将创建一个python模块。执行import foo
操作时,Python对该文件求值,并将它定义的所有变量、函数和类放入一个module对象中,并将其指定给名称foo
。你知道吗你知道吗
使用
__init__.py
文件创建目录bar
时,将创建一个python包。执行import bar
操作时,Python对__init__.py
文件进行求值,并将它定义的所有变量、函数和类放入一个模块对象中,并将其分配给名称bar
。你知道吗你知道吗
在python包中创建python模块时(即在包含
__init__.py
的目录中以.py
结尾的文件),必须通过此包导入这些模块:现在,假设您的项目结构是:
您的
main
脚本可以import DataFunctions.CashAMDSale
并使用DataFunctions.CashAMDSale.AMDSale()
,以及import DataFunctions.GetValidAMD
并使用DataFunctions.GetValidAMD.ValidAMD()
。你知道吗相关问题 更多 >
编程相关推荐