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'的模块;文件不是包
当前回答
您应该将该文件置于与您试图导入的Python文件相同的位置。'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`
如果你的文件在不同的包结构中,你想从不同的包中调用它,那么你可以这样调用它:
假设你的python项目中有以下包结构:
在python文件中你有一些函数,比如:
def add(arg1, arg2):
return arg1 + arg2
def sub(arg1, arg2) :
return arg1 - arg2
def mul(arg1, arg2) :
return arg1 * arg2
你想从Example3.py调用不同的函数,那么你可以通过以下方式做到:
在Example3.py - file中定义import语句用于导入所有函数
from com.my.func.DifferentFunction import *
或者定义想要导入的每个函数名
from com.my.func.DifferentFunction import add, sub, mul
然后在Example3.py中调用execute函数:
num1 = 20
num2 = 10
print("\n add : ", add(num1,num2))
print("\n sub : ", sub(num1,num2))
print("\n mul : ", mul(num1,num2))
输出:
add : 30
sub : 10
mul : 200
只是一个简单的建议, 那些相信自动导入的人在Pycharm中按alt+ enter无法得到帮助。
只需从你想导入的地方更改文件名: 右键单击文件,然后单击refactor-> rename。 您的自动导入选项将开始出现
首先将文件保存为.py格式(例如my_example.py)。 如果那个文件有函数,
def xyz():
--------
--------
def abc():
--------
--------
在调用函数中,您只需键入下面的行。
file_name: my_example2.py
============================
import my_example.py
a = my_example.xyz()
b = my_example.abc()
============================
MathMethod.Py内部。
def Add(a,b):
return a+b
def subtract(a,b):
return a-b
内部Main.Py
import MathMethod as MM
print(MM.Add(200,1000))
输出:1200