如果将文件导入到同一文件夹中的其他文件中。python import in same folder
文件结构:
.
├── b
│ ├── c.py
│ ├── d.py
│ └── __init__.py
└── __init__.py
在d.py:
import b.c
print "import successfully"
更新1:
我同时使用
python d.py
和:
python b/d.py
程序无法运行并引发ImportError。
为了解决这个问题,我用
sys.path.insert(0, realpath(path_join(dirname(__file__), '../')))
然而,它并不像看起来的标准方式。
像一些着名的项目:龙卷风或一些什么,总是使用这种结构。但没有插入行。
自动测试工具,如嗅探器,autonose可以运行这样的结构,如果导入句子在单元测试文件中。
我不知道为什么。
PEP328或PEP366不给我一个很好的解决方案。
PEP8推荐我这样做。
的问题也出现在进口的另一模块(在另一个文件) 如:
├── a
│ ├── e.py
│ └── __init__.py
├── b
│ ├── c.py
│ ├── d.py
│ └── __init__.py
├── __init__.py
这个答案[exists here](http://stackoverflow.com/a/6098238),[这里](http://stackoverflow.com/a/456491) – invert 2012-07-10 09:39:04
@invert我看到这个方法,它可以做这件事。但是有人的代码以这种方式成功运行。但没有插入路径句子。 – chao787 2012-07-10 09:40:05