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项目中有以下包结构:
在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
其他回答
解决方案1:在一个文件myfun.py中定义任何函数。
# functions
def Print_Text():
print( 'Thank You')
def Add(a,b):
c=a+b
return c
在另一个文件中:
#Import defined functions
from myfun import *
#Call functions
Print_Text()
c=Add(1,2)
解决方案2:如果上述解决方案对Colab不起作用
创建一个foldermyfun 在这个文件夹中创建一个文件__init__.py 在__init__.py中编写所有函数 从myfun Import *导入Colab笔记本中的函数
你不需要添加file.py。
只要将该文件与要导入的文件放在相同的位置即可。然后导入你的函数:
from file import a, b
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
只是一个简单的建议, 那些相信自动导入的人在Pycharm中按alt+ enter无法得到帮助。
只需从你想导入的地方更改文件名: 右键单击文件,然后单击refactor-> rename。 您的自动导入选项将开始出现
.py文件中的函数(当然)可以在不同的目录中)可以简单地导入,只需先写入目录,然后写入没有.py扩展名的文件名:
from directory_name.file_name import function_name
function_name()