含间隙:我对每个我需要在程序中使用功能的.py文件。
在这个程序中,我需要从外部文件调用该函数。
我试过了:
from file.py import function(a,b)
但我得到的错误:
导入错误:没有模块名为“file.py”; 文件不是包
如何解决这个问题?
含间隙:我对每个我需要在程序中使用功能的.py文件。
在这个程序中,我需要从外部文件调用该函数。
我试过了:
from file.py import function(a,b)
但我得到的错误:
导入错误:没有模块名为“file.py”; 文件不是包
如何解决这个问题?
没有任何需要补充file.py
而进口。 只要写from file import function
,然后调用函数使用function(a, b)
之所以这样,可能无法正常工作,是因为file
是Python的核心模块之一,所以我建议你改变你的文件的名称。
需要注意的是,如果你想从导入功能a.py
到一个名为b.py
,你需要确保a.py
和b.py
在同一个目录下。
首先你不需要.py
。
如果你有一个文件a.py
和你里面有一些功能:
def b():
# Something
return 1
def c():
# Something
return 2
而要导入他们在z.py
你必须编写
from a import b, c
您可以通过两种方式做到这一点。 首先就是要导入你从file.py.想要的特定功能 要做到这一点使用
from file import function
另一种方法是导入整个文件
import file as fl
然后,你可以使用调用内部file.py任何功能
fl.function(a,b)
您还可以从不同的目录功能以及,如果你不能或不想在你工作的同一目录的功能。 您可以通过两种方式(或许还有更多的选择,但这些都是为我工作过的那些)做到这一点。
替代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
首先保存的.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()
============================
遇到同样的功能,但我不得不做以下,使其工作。
如果您看到“ModuleNotFoundError:没有名为模块”,你可能需要点在下面的文件名的前面;(。)
从.file进口funtion
您不必添加file.py
。
就在同一个位置的文件保持与要导入的文件。 然后,只需输入您的功能:
from file import a, b
重命名模块比“文件”以外的东西。
然后还可以肯定,当你调用的函数:
1)如果要导入整个模块,你调用它时重申模块名称:
import module
module.function_name()
要么
import pizza
pizza.pizza_function()
2),或者如果要导入特定的功能,功能有一个别名,或使用*所有的功能,你不要重申模块名称:
from pizza import pizza_function
pizza_function()
要么
from pizza import pizza_function as pf
pf()
要么
from pizza import *
pizza_function()
里面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
你应该在相同的位置,你要导入Python的文件的文件。 也“从文件导入功能”就足够了。
如果你的文件是在不同的封装结构,你想从不同的包调用它,那么你可以调用它以那种方式:
比方说,你有以下你的Python项目包结构:
在- com.my.func.DifferentFunction
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
-文件导入所有功能
from com.my.func.DifferentFunction import *
或定义要导入的每个函数名
from com.my.func.DifferentFunction import add, sub, mul
然后在Example3.py
可以调用函数执行:
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
在我来说,我叫我的文件helper.scrap.py
并不能使它工作,直到我改为helper.py
假设你要调用的文件是anotherfile.py,你要调用的方法是方法1,那么首先导入该文件,然后方法
from anotherfile import method1
如果方法1是一个类的一部分,让课堂上的Class1,然后
from anotherfile import class1
然后创建Class 1的一个对象,假设对象名称OB1,然后
ob1 = class1()
ob1.method1()