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'的模块;文件不是包
当前回答
修复
ModuleNotFoundError:没有命名模块
尝试在文件名前使用点(.)来进行相对导入:
from .file import function
其他回答
附加一个点。在文件名前面,如果你想导入这个文件,这个文件在你运行代码的同一个目录下。
例如,我正在运行一个名为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
.py文件中的函数(当然)可以在不同的目录中)可以简单地导入,只需先写入目录,然后写入没有.py扩展名的文件名:
from directory_name.file_name import function_name
function_name()
首先将文件保存为.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()
============================
在我的主脚本detectiverb .py文件中,我需要调用passGen函数,生成密码哈希,该函数在模块\passwordGen.py下
对我来说最快最简单的解决办法是
下面是我的目录结构
所以在detectiveROB.py中,我用下面的语法导入了我的函数
从模块。passwordGen导入passGen