File.py包含一个名为function的函数。如何导入?
from file.py import function(a,b)
上面给出了一个错误:
ImportError:没有名为'file.py'的模块;文件不是包
File.py包含一个名为function的函数。如何导入?
from file.py import function(a,b)
上面给出了一个错误:
ImportError:没有名为'file.py'的模块;文件不是包
当前回答
你不需要添加file.py。
只要将该文件与要导入的文件放在相同的位置即可。然后导入你的函数:
from file import a, b
其他回答
以上任何一种方法都不适合我。我得到ModuleNotFoundError:没有模块命名任何错误。 所以我的解决方案是像下面这样导入
from . import filename # without .py
在我的第一个文件中,我定义了如下函数fun
# file name is firstFile.py
def fun():
print('this is fun')
在第二个文件中,假设我想把这个函数命名为fun
from . import firstFile
def secondFunc():
firstFile.fun() # calling `fun` from the first file
secondFunc() # calling the function `secondFunc`
假设你想调用的文件是anotherfile.py,你想调用的方法是method1,那么首先导入文件,然后导入方法
from anotherfile import method1
如果method1是一个类的一部分,那么这个类是class1,那么
from anotherfile import class1
然后创建一个对象class1,假设对象名称为ob1,则
ob1 = class1()
ob1.method1()
修复
ModuleNotFoundError:没有命名模块
尝试在文件名前使用点(.)来进行相对导入:
from .file import function
你不需要添加file.py。
只要将该文件与要导入的文件放在相同的位置即可。然后导入你的函数:
from file import a, b
首先,从file.py导入函数:
from file import function
之后,使用以下方法调用函数:
function(a, b)
请注意,file是Python的核心模块之一,所以我建议您将file.py的文件名更改为其他内容。
请注意,如果您试图将函数从a.py导入到名为b.py的文件中,则需要确保a.py和b.py位于同一目录中。