File.py包含一个名为function的函数。如何导入?

from file.py import function(a,b)

上面给出了一个错误:

ImportError:没有名为'file.py'的模块;文件不是包


当前回答

您应该将该文件置于与您试图导入的Python文件相同的位置。'from file import function'也足够了。

其他回答

修复

ModuleNotFoundError:没有命名模块

尝试在文件名前使用点(.)来进行相对导入:

from .file import function

以上任何一种方法都不适合我。我得到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` 

你不需要添加file.py。

只要将该文件与要导入的文件放在相同的位置即可。然后导入你的函数:

from file import a, b

方法1。从file.py导入你想要的特定函数:

from file import function

方法2。导入整个文件:

import file as fl

然后,调用file.py中的任何函数,使用:

fl.function(a, b)

您应该将该文件置于与您试图导入的Python文件相同的位置。'from file import function'也足够了。