python导入模块,运行模块里的函数时,模块中的类去哪找?
我写了一个a.py,在a.py中定义了一个函数A,一个类B,之后A的内部使用了B的实例。我在b.py导入fromaimportA,之后在b.py中调用A,结果报错说在当前...
我写了一个a.py,在a.py中定义了一个函数A,一个类B,之后A的内部使用了B的实例。我在b.py导入from a import A,之后在b.py中调用A,结果报错说在当前模块(main)中缺少B,我把类B一起导入过来from a import A,B,就没问题了。但根据理论,在a.py中调用b.py的函数,会在b.py的作用域运行,怎么会去a.py里找B.而且这个问题似乎只出在类上,函数A中还调用了函数C(函数C也写在a.py中),但不需要将C也导入b.py中。而且即使我在a.py中把类B的定义放入函数A的内部也不行,似乎对于类,在哪个.py文件中执行,它就非要在哪找。
展开
2个回答
展开全部
import sys
sys.path.append(‘你的模块的名称’)。
sys.path.insert(0,’模块的名称’)
# 可以用 os模块构造需要 append的path
import os
path1=os.path.abspath('.') # 表示当前所处的文件夹的绝对路径print(path1)
path2=os.path.abspath('..') # 表示当前所处的文件夹上一级文件夹的绝对路径print(path2)
sys.path.append(‘你的模块的名称’)。
sys.path.insert(0,’模块的名称’)
# 可以用 os模块构造需要 append的path
import os
path1=os.path.abspath('.') # 表示当前所处的文件夹的绝对路径print(path1)
path2=os.path.abspath('..') # 表示当前所处的文件夹上一级文件夹的绝对路径print(path2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询