0
以下のコードはMySQLDBでpython2で完全に動作しますが、どうすればPython3とコンパチブルにすることができますか?Python3:ReferenceError:弱参照オブジェクトが存在しなくなりました
私は同様の質問をデバッグして検索しました。
Error: Exception ignored in: > Traceback (most recent call last): File > > > "/usr/local/lib/python3.4/dist-packages/pymysql/cursors.py", line 41, in del File > "/usr/local/lib/python3.4/dist-packages/pymysql/cursors.py", line 47, in close ReferenceError: weakly-referenced object no longer exists –
class Database():
def __init__(self):
self.host = 'localhost'
self.user = 'user'
self.password = 'pwd'
self.db = 'dbname'
self.connection = pymysql.connect(host=self.host, user=self.user, passwd=self.password, db=self.db,use_unicode=True, charset="utf8")
self.cursor = self.connection.cursor()
def storeToDB(self,ID,string,g,e):
import datetime
curr_time = datetime.datetime.now()
status = 0
try:
self.cursor.execute("""INSERT INTO master_data (`job_id`,`sstring`,`grl`,`erl`,`status`,`insert_timestamp`) \
VALUES (%s,%s,%s,%s,%s,%s)""",(jobID,search_string,g,e,status,curr_time))
self.connection.commit()
except:
self.connection.rollback()
if __name__ == "__main__":
db = Database()
db.storeToDB(20,"hello","something.com","e.com")
あなたのサンプルコードはコンパイルすらないでしょう。正確なコードを表示するか、ローカル変数を正しく隠すようにしてください。 – karthikr
しかしそれは解釈されます:) – inbinder
['2to3'](https://docs.python.org/2/library/2to3.html)のようなものを調べることをお勧めします –