我在 Mac OS X 上使用 Python 2.6.1。
我有两个简单的 Python 文件(如下),但当我运行时:
python update_url.py
我进入了终端:
Traceback (most recent call last):
File "update_urls.py", line 7, in <module>
main()
File "update_urls.py", line 4, in main
db = SqliteDBzz()
NameError: global name 'SqliteDBzz' is not defined
我尝试将文件和类重命名为不同的名称,这就是为什么这些末尾有x和z的原因。;)
文件sqlitedbx.py
class SqliteDBzz:
connection = ''
curser = ''
def connect(self):
print "foo"
def find_or_create(self, table, column, value):
print "baar"
更新文件 update_url.py
import sqlitedbx
def main():
db = SqliteDBzz()
db.connect
if __name__ == "__main__":
main()
import sqlitedbx
会将sqlitedbx.py
导入到当前名称空间中。如果你不想在使用时加上文件名前缀,可以在脚本的名称空间中以不同的方式导入它:使用from sqlitedbx import SqliteDB
。 - Tamás