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'的模块;文件不是包
当前回答
您也可以从不同的目录调用该函数,以防您不能或不希望在您正在工作的同一目录中拥有该函数。你可以通过两种方式做到这一点(也许还有更多的选择,但这些是对我有效的方法)。
选择1 临时更改工作目录
import os
os.chdir("**Put here the directory where you have the file with your function**")
from file import function
os.chdir("**Put here the directory where you were working**")
选择2 将函数所在的目录添加到sys.path
import sys
sys.path.append("**Put here the directory where you have the file with your function**")
from file import function
其他回答
解决方案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
假设你想调用的文件是anotherfile.py,你想调用的方法是method1,那么首先导入文件,然后导入方法
from anotherfile import method1
如果method1是一个类的一部分,那么这个类是class1,那么
from anotherfile import class1
然后创建一个对象class1,假设对象名称为ob1,则
ob1 = class1()
ob1.method1()
将模块重命名为'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()
方法1。从file.py导入你想要的特定函数:
from file import function
方法2。导入整个文件:
import file as fl
然后,调用file.py中的任何函数,使用:
fl.function(a, b)