私がここで間違っていることを得ることができません。その後Pythonでクラスコンストラクタ引数を使用できません
import sqlite3 as lite
import sys
import os.path
class database:
def __init__(self,dbfname):
if os.path.isfile(dbfname):
self.con = lite.connect(dbfname)
else:
self.con = self.createDBfile(dbfname)
#Other methods...
、私はクラスのインスタンス
base = database("mydb.db")
を作るしようとしたとき、私はエラーを取得しない「グローバル」変数が存在しないことを言って:私は、次のコードでクラスを定義していますdbfnameという名前です。
Traceback (most recent call last):
File "testdb.py", line 67, in <module>
base = database("mydb.db")
File "testdb.py", line 13, in __init__
self.con = self.createDBfile(dbfname)
File "testdb.py", line 15, in createDBfile
if os.path.isfile(dbfname):
NameError: global name 'dbfname' is not defined
変数dbfnameを使用する正しい方法は何ですか?
それはあなたのコードですか...?それは壊れているか、ひどくフォーマットされているためです。ここに貼り付けたもの、特にインデントを確認してください。 – deceze
"class database:"という行の重複を修正しました。 – jokogarcia