我写了一些python文件如下:
main.py
view/ __init__.py #empity file
MainWindow.py
ListEditor.py
在每个文件中我都写下了这些导入:
^{pr2}$-
<MainWindow.py>
from view.ListEditor import ListEditor
以及列表编辑器.py不要导入任何文件。 每个主窗口.py或者列表编辑器.py定义一个与文件名同名的类。在
当我从运行程序时主.py,它起作用了。但当我从主窗口.py我得到了重要提示:没有名为“视图”的模块
如果我写信
from ListEditor import ListEditor
在主窗口.py,python MainWindow.py
就可以了。但是python main.py
将得到错误:
ImportError:没有名为“ListEditor”的模块
那么,有没有办法让python main.py
和{
我用的是Python3.4
p.S.
我想我已经解决了这个问题。import命令在中搜索模块搜索路径. 这个系统路径是一组预定义的路径加上正在运行的脚本路径。当我从主窗口.py,代码import ListEditor
可以工作,但是当我从主.py,则当前路径设置为父路径。所以我需要import view.ListEditor
。
好吧,有几种方法可以解决这个问题。@文森特·贝尔特曼的回答就是其中之一。或者将这些代码放入__init__.py
文件中:
import os, sys
path = os.path.dirname(os.path.abspath(__file__))
sys.path.append(path)
最后,我是python的新手。我觉得import命令很奇怪。我认为它应该搜索相对于包含命令的源文件路径的文件,而不仅仅是相对于starter文件。启动文件可能会发生变化,并引发类似这样的问题。在
试试这个:
相关问题 更多 >
编程相关推荐