Python模块问题
我对python很陌生,学习python一直很艰难。我有一个主文件Python模块问题,python,module,Python,Module,我对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 = DataFun
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”对象没有属性“GetValidAMD”
我一直在寻找答案,但没有任何结果。有什么想法吗?谢谢 当您创建文件
foo.py
时,您将创建一个python模块。当您执行导入foo时,Python会对该文件进行求值,并将其定义的任何变量、函数和类放入模块对象中,并将其指定给名称foo
# foo.py
x = 1
def foo():
print 'foo'
现在,假设您的项目结构是:
main.py
DataFunctions/
__init__.py
CashAMDSale.py
def AMDSale(): ...
GetValidAMD.py
def ValidAMD(GetValidAMD): ...
您的main
脚本可以导入DataFunctions.CashAMDSale
并使用DataFunctions.CashAMDSale.AMDSale()
,以及导入DataFunctions.GetValidAMD
并使用DataFunctions.GetValidAMD.ValidAMD()
签出
这是同样的问题。您正在导入属于模块的DataFunctions
。我表示该模块中有一个名为DataFunctions的类,需要使用
from DataFunctions import DataFunctions
...
AMDInstance = DataFunctions.GetValidAMD()
DataFunctions
是一个文件夹,这意味着它是一个包,必须包含一个\uuu init\uuuu.py
文件,python才能识别它
从包导入*时,不会自动导入其所有模块。这记录在
因此,要使代码正常工作,您需要显式导入所需的模块:
import DataFunctions.GetValidAMD
或者,您需要将以下内容添加到数据函数的初始化.py
:
__all__ = ["GetValidAMD"]
然后你可以从软件包中导入*
,所有收听的内容都将被导入你可以发布数据函数
模块的源代码吗?数据函数是我拥有的文件夹GetValidAMD inI应该澄清我的文件夹结构,对不起!它的main.py DataFunctions/\uuuu init\uuupy GetValidAMD.py Tests/\uuu init\uupy CashAMDSale.py
谢谢,这很有帮助!:)成功了,谢谢你的帮助,我不知道!:)
main.py
DataFunctions/
__init__.py
CashAMDSale.py
def AMDSale(): ...
GetValidAMD.py
def ValidAMD(GetValidAMD): ...
from DataFunctions import DataFunctions
...
AMDInstance = DataFunctions.GetValidAMD()
import DataFunctions.GetValidAMD
__all__ = ["GetValidAMD"]