我在python中练习使用生成器函数,所以我定义了一个函数如下:
def MySQL_product():
#Establish connection to database
try:
connection = msql.connect(host = 'localhost', user = 'max', passwd = 'password', db = 'schools')
except:
pass
#Iterate through each product and insert them in database
with connection:
cursor = connection.cursor()
cursor.execute("SELECT name, age, gender, school
WHERE GroupId = 'student' AND Exchange = 'foreign'")
for product in cursor.fetchall():
yield product
def main():
for column in range (0, number_of_schools):
for product in MySQL_product():
print product
但是,当我运行此代码时,我看到的所有输出都是generator object at ...
我正在尝试打印在数据库中找到的内容。此外,没有执行任何print
语句MySQL_product()
。生成器的要点是,它应该一一返回,而不是返回数据库中所有行的列表。然后我想访问/打印这些项目。我该怎么做才能修复此代码?