python模块调用的问题
本文介绍了python模块调用的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
我在b.py想调用a.py中的getColumn(),但是提示 Cursor closed;请问该怎么解决,如果我只写了a.getColumn(),a.py中的其他语句会被执行吗
b.py
import a
a.getColumn()
a.py
import pymysql
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='adminimda',db='db0')
cur = conn.cursor()
def getColumn(column,table):
r=cur.execute("SELECT %s FROM %s"%(column,table))
print (r)
cur.close()
conn.close()
解决方案
a.py:
import pymysql
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='adminimda',db='db0')
cur = conn.cursor()
def getColumn(column,table):
r=cur.execute("SELECT %s FROM %s"%(column,table))
print (r)
if __name__ == '__main__':
cur.close()
conn.close()
原因是导入a.py时, cur.close() conn.close()被执行过一次。
或者你把 cur.close() conn.close() 放到getColumn函数内。
python中 __name__及__main()__的妙处 http://www.cnblogs.com/liqilei/archive/2010/08/11/1797715.html
这篇关于python模块调用的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文