我是一個老式的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'的全部內容更新這個問題 –