我是一个老式的Pascal程序员,OOP和Python的新手,所以请耐心等待......我有一本关于Python的书,我先在这里搜索(尽管很多类似的线程 - 没有检查每一个)...Python import导致语法错误
我试图编写一个程序,包括其他人在我公司写的现有模块。根据我的Python书,我应该能够导入整个模块或只是特定的类。这本书说,当使用'import'时,它实际上运行指定的代码(不像我在Pascal中习惯的INHERIT)。
我有模块在这种结构中,mod.py,我想用:
from x.y.z import stuff
class c1(superclass):
def func1(self):
....
def func2(self, db):
....
with self.db as handler:
....
,我已经有了一个基本的脚本,test.py,这不只是这一点:
from mod import c1
print "Hello"
当我执行“蟒蛇test.py”,我得到错误信息:
'with self.db as handler' - invalid syntax
我想我失去了一些东西根本她e,所以任何帮助非常感激。
我怀疑你的'self.db'没有实现[上下文管理器协议](http://docs.python.org/reference/datamodel.html#context-managers),还是它? –
也可能是因为Python的这种语法太旧了 - Python 2.4仍然存在于某些地方。这是哪个版本? –
您的错误表明您将with语句放在引号中,这是正确的吗?你使用的是什么版本的Python?你也应该用'mod.py'的全部内容更新这个问题 –