这似乎是一个简单的问题,所以我认为它已经得到解答,但我在互联网上找到的解释都没有包含对我有效的解决方案。
所以,我只想能够从与我要使用它们的文件位于同一文件夹中的文件中导入函数。到处都写着我只需写
import my_file
,但我只得到一个ImportError: No module named my_file
我尝试在文件夹中添加一个空的
__init__.py
文件,但没有成功。我没有尝试其他太复杂的解决方案,因为应该有一个简单的解决方案,我觉得我只是错过了一些基本但不可或缺的东西。
因此,我做了一个尽可能简单的测试,只使用一个文件夹
Folder
,其中包含两个文件,file1.py
和file2.py
。
以下是file1.py
的内容:
import file2
f()
以下是
file2.py
的内容:
def f():
print "it works !"
当我执行
file1.py
时,我在第1行收到以下错误:
ImportError: No module named file2
(我尝试了所有可能的组合,包括引号、括号和 .py 扩展名的存在和不存在,其中大多数我得到了
SyntaxError: invalid syntax
)
你应该在file1.py中像下面这样写:
from file2 import f
f()
您的做法是错误的,下面是您将获得所需结果的代码:-
文件1
import file2
file2.f() # You have to use like this.
文件2
def f():
print "it works !"
希望对你有帮助。
请使用这个,对我来说效果很好。
from file2 import f
#You will get object code. it means working fine.
print (f)
我尝试使用另一个 IDE(Spyder 而不是 Pyzo)。它询问从哪里执行代码,我单击“从文件的位置”并且它起作用了。
我猜问题出在代码的执行位置......
我遇到了完全相同的问题,问题似乎来自 pyzo,因为它在 pycharm 上运行,同时使用完全相同的程序...