想要制作可以从数据库中获取数据的小型python模块。我有下载pydbc,它工作得很好:
import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=MyDatabase;DATABASE=TestDB;UID='';PWD=''')
cursor = cnxn.cursor()
cursor.execute("select MeasurementValue from TAG_DATA where ItemID=10")
row = cursor.fetchone()
现在我想把它放在一个模块中,以便我可以导入它,我不需要编写代码evrytime或找到文件。所以我试着像这样创建这个
import pyodbc
def testDB():
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=MyDatabase;DATABASE=TestDB;UID='';PWD=''')
cursor = cnxn.cursor()
cursor.execute("select MeasurementValue from TAG_DATA where ItemID=10")
row = cursor.fetchone()
return row
我把它保存在:文件“C:\ Python27 \ lib \ site-packages \ testDB.py”中我尝试导入它,但是我收到了这个错误:SyntaxError:'return'在函数外面
我是python的新手,有什么想法我可以把它作为一个模块,每次我想运行该代码时能够使用import吗?
答案 0 :(得分:1)
正如其中一条评论所说,你的缩进搞砸了。白色空间(缩进)在Python中至关重要。试试这样:
import pyodbc
def testDB():
cnxn = pyodbc.connect("DRIVER={SQL Server};SERVER=MyDatabase;DATABASE=TestDB;UID='';PWD=''")
cursor = cnxn.cursor()
cursor.execute("select MeasurementValue from TAG_DATA where ItemID=10")
row = cursor.fetchone()
return row
此外,您必须为连接字符串使用双引号,因为您在字符串本身中使用单引号。我已将它们改为上面以反映出来。
祝你好运, 麦克