【发布时间】:2018-02-22 10:33:17
【问题描述】:
在一个名为 BinarySearch.py 的文件中,我有以下内容:
class SearchResult:
def __init__(self):
self.was_found = False
self.index = 0
def __str__(self):
s = "SearchResult"
s = s + " was found: "
s = s + str(self.was_found) + "index: " + str(self.index)
return s
在另一个文件中,假设它被命名为file2.py 我有:
import os
cwd = os.getcwd()
import sys
sys.path.append(cwd)
import BinarySearch
但是,当我尝试运行 file2.py 时,我收到以下错误消息:
NameError: name 'SearchResult' is not defined
看起来import BinarySearch 实际上并未导入BinarySearch
我正在使用 Spyder IDE。两个文件(BinarySearch.py 和 file2.py)都在同一个目录中。另外,我去了 Tool > PYTHONPATH manager 并将目录添加到路径中。我还尝试重新启动 spyder 以查看这是否是路径更改生效所必需的。还是不行。
编辑:
file2.py 中引发错误的行如下:
sr = SearchResult()
最初我假设语句import BinarySearch 的行为与复制 BinarySearch.py 的全部内容并将其粘贴到import 语句在 file2.py 中的位置相同。我现在明白import 不是这样工作的。
【问题讨论】:
标签: python python-3.x import python-import spyder