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

from file.py import function(a,b)

上面给出了一个错误:

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


当前回答

导入时不要写.py。

让file_a.py包含一些函数:

def f():
  return 1

def g():
  return 2

要将这些函数导入file_z.py,请执行以下操作:

from file_a import f, g

其他回答

解决方案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笔记本中的函数

附加一个点。在文件名前面,如果你想导入这个文件,这个文件在你运行代码的同一个目录下。

例如,我正在运行一个名为a.py的文件,我想导入一个名为addFun的方法,它是用b.py写的,b.py在同一个目录中

from .b import addFun

您也可以从不同的目录调用该函数,以防您不能或不希望在您正在工作的同一目录中拥有该函数。你可以通过两种方式做到这一点(也许还有更多的选择,但这些是对我有效的方法)。

选择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

只是一个简单的建议, 那些相信自动导入的人在Pycharm中按alt+ enter无法得到帮助。

只需从你想导入的地方更改文件名: 右键单击文件,然后单击refactor-> rename。 您的自动导入选项将开始出现

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