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'的模块;文件不是包
当前回答
修复
ModuleNotFoundError:没有命名模块
尝试在文件名前使用点(.)来进行相对导入:
from .file import function
其他回答
将模块重命名为'file'以外的内容。
当你调用这个函数时,也要确保:
1)如果你导入了整个模块,你在调用它的时候重复模块名:
import module
module.function_name()
or
import pizza
pizza.pizza_function()
2)或者如果你导入特定的函数,带有别名的函数,或者所有使用*的函数,你不需要重复模块名:
from pizza import pizza_function
pizza_function()
or
from pizza import pizza_function as pf
pf()
or
from pizza import *
pizza_function()
假设你想调用的文件是anotherfile.py,你想调用的方法是method1,那么首先导入文件,然后导入方法
from anotherfile import method1
如果method1是一个类的一部分,那么这个类是class1,那么
from anotherfile import class1
然后创建一个对象class1,假设对象名称为ob1,则
ob1 = class1()
ob1.method1()
方法1。从file.py导入你想要的特定函数:
from file import function
方法2。导入整个文件:
import file as fl
然后,调用file.py中的任何函数,使用:
fl.function(a, b)
只是一个简单的建议, 那些相信自动导入的人在Pycharm中按alt+ enter无法得到帮助。
只需从你想导入的地方更改文件名: 右键单击文件,然后单击refactor-> rename。 您的自动导入选项将开始出现
首先,从file.py导入函数:
from file import function
之后,使用以下方法调用函数:
function(a, b)
请注意,file是Python的核心模块之一,所以我建议您将file.py的文件名更改为其他内容。
请注意,如果您试图将函数从a.py导入到名为b.py的文件中,则需要确保a.py和b.py位于同一目录中。