我有一个src / math2 / add.py下的文件
def add(a, b):
return a + b
现在我有第二个文件,我正在尝试使用它,即operations.py
import add
def operations(what, param1, param2):
if(what == 'add'):
return add(param1, param2)
if __name__ == '__main__':
operation('add', 9, 18)
但是当我尝试运行python3 operations.py时
我收到错误没有这样的模块添加。我在math文件夹下添加了init.py文件仍然出现此错误。
所以,这是我的文件夹结构
src/math2/add.py
src/math2/__init__.py
src/operations.py
任何人都可以帮助我。我记得这曾经与python2.7一起工作
我想指出在python环境中已经有一个名为math的库。将目录名更改为math2后,可以尝试以下操作:
要添加模块,您应该使用from math2 import add
,它应该工作。
您可以参考python docs on modules获取更多信息。
编辑:您正在引用add
模块,就好像它是operations.py
中的函数一样。你应该做from math2.add import add
,或者你应该在之前的表格中打电话给add.add()
。
你在最后一行的operations.py中有拼写错误的方法名称。它应该是操作('添加',9,18)
下面是修改后的operations.py工作正常。
from math2.add import add
def operations(what, param1, param2):
if(what == 'add'):
a= add(param1, param2)
print(a)
if __name__ == '__main__':
operations('add', 9, 18)
你应该将PYTHONPATH
设置为你的src文件夹
export PYTHONPATH=$PYTHONPATH:/<src-path>
然后,使用此导入:
from math.add import add