Моя программа, кажется, не заканчивается ... Поскольку я относительно новичок в python, я бы заподозрил, что сделал общую ошибку, которую я пока не вижу. Даже недавно в Java я разрешил простые проблемы, например, закрыв файл ...mysql python hangup debugging
ПРИМЕЧАНИЕ:rt_table
имеет около 250 000 строк. Перед этой программой python я написал эквивалентную Java-программу, и она не заставила себя долго ждать.
def create_AMatrix():
"""Create the adjacency table of the retweet network from rt_table to create an adjacency matrix"""
con = mdb.connect(host="localhost", user="root", passwd="", db="twitter")
cur = con.cursor(mdb.cursors.DictCursor)
#get vertex set of users in retweet network
cur.execute("select user_id from users")
rows = cur.fetchall()
vSet = list()
for uID in rows:
vSet.append(uID)
#populate adjacency table
cur.execute("select * from rt_table")
rows = cur.fetchall()
for row in rows:
sourceUserID = row["source_user_id"]
sourceUserName = row["source_user_name"]
rtUserID = row["rt_user_id"]
rtUserName = row["rt_user_name"]
try:
curRow = vSet.index(sourceUserID)
curCol = vSet.index(rtUserID)
except ValueError:
continue
cur.execute("select COUNT(*) from adjacency where r = %s and c = %s", (curRow, curCol))
if cur.fetchone()['COUNT(*)'] == 0:
try:
cur.execute("insert into adjacency (r, c, val, source_user_id, source_user_name, rt_user_id, rt_user_name) values (%d, %d, %d, %d, %s, %d, %s"), (curRow, curCol, 1, sourceUserID, sourceUserName, rtUserID, rtUserName)
con.commit()
except:
con.rollback()
else:
try:
cur.execute("update adjacency set val = val+1 where r = %d and c = %d"), (curRow, curCol)
con.commit()
except:
con.rollback()
cur.close()
con.close()
- Где моя ошибка?
- Что я могу сделать, чтобы узнать, что делает мой код? В частности, могу ли я спросить, какую строку кода выполняет программа?
Вся помощь очень признательна и не стесняйтесь делать предложения, чтобы сделать мой код более питоническим!
Я вас понял? Вы ищете отладчик? http://docs.python.org/2/library/pdb.html – bash0r
Я также ищу, где моя ошибка ... Я все еще не могу найти ее даже с отладчиком – CodeKingPlusPlus
Мне не нравится python, потому что это зависит по пробелам. Это боль, чтобы исправить ошибку, где у вас есть вкладка, и в следующей строке у вас есть 4 пробела. Мне жаль, что я больше не могу помочь тебе. – bash0r