【发布时间】:2014-06-30 10:32:22
【问题描述】:
我的脚本运行失败时出现了一些非常神秘的行为。显然,下面的脚本是微不足道的,什么都不做,但它在真实脚本中重现行为。这是名为test.py 的文件中的代码。
import os
os.chdir('/home/jacob/twcSite')
import app
app 位于'home/jacob/twcSite',与当前目录不同,包含test.py。如果我在命令行输入python test.py,我会得到ImportError: No module named app。但是,如果我只是键入 python 来启动交互式解释器并复制粘贴完全相同的三个命令,那么它就可以正常工作而不会出现导入错误。
什么可能导致此错误?这是相同版本的python。完全相同的代码行。为什么在这两种情况下我都会得到不同的行为?只是为了提供更多详细信息,如果您在调用os.chdir 之前和之后将输出打印到os.getcwd(),它确实声称已更改为正确的目录(尽管显然情况并非如此)。我正在运行 Ubuntu 14.04,Python 版本 2.7.6。
【问题讨论】:
-
我会查看 stackoverflow.com/questions/279237/… 以导入您自己的自定义 python 模块。只要记住有一个
__init__.py文件来识别模块。
标签: python