- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Python 方面相对较新,但在 Java 方面有更多经验,因此我理解大部分概念。但是,我在使用 MySQL 和使用 MySQL 从函数传回信息时一直遇到问题 稍后在另一个函数中使用。
我需要使用多个返回字段进行复杂的 MySQL 查询,所以我不想为每个 SQL 字段运行多个 SQL 查询,因为这会破坏数据库。说下面是我想要实现的一个小例子。
我想要一个函数来运行 SQL 查询 (defconnectory_mysql()),该函数从其他地方获取参数(这部分有效),然后获取 SQL 查询的输出并传递回主函数以供使用。然后主函数需要将 SQL 查询的不同列结果用于不同的参数。
我可以返回结果并将其分配给 result1,该结果在打印时看起来像一本字典,但我无法拆分/使用 result1 =connector_mysql(subSerialNum, ldev, Today_date) 中的不同键或数据如果我在返回之前拆分使用 SQL 函数中字典中的键,即 ldev_cap = result['ldev_cap']我可以打印 SQL 函数中的各个元素...但是,我似乎无法将参数传递回主函数并将它们分开?
我一定错过了一些简单的事情或者不理解一些事情...任何帮助或帮助将不胜感激...
...
result1 = connector_mysql(subSerialNum, ldev, today_date)
print(result1) #this works and appears to be a dictionary, but I can split it
## into its elements like:
ldev_cap = result1['ldev_cap'] ##-> this dosn't work here.....???? if i return it as a dictonary..
#and i'm unsure how to split them when i pass just the paramaters
#back if i split the dictionary in the sql function.
...
def connector_mysql(subSerialNum, ldev, today_date):
import pymysql.cursors
db_server = 'localhost'
db_name = 'CBDB'
db_pass = 'secure_password'
db_user = 'user1'
sql_query = (
"SELECT ldev_cap, ldev_usdcap FROM Ldevs WHERE sub_serial=%(serial)s "
"and ldev_id=%(lun)s and data_date=%(todayD)s")
connection = pymysql.connect(host=db_server,
user=db_user,
password=db_pass,
db=db_name,
cursorclass=pymysql.cursors.DictCursor)
try:
with connection.cursor() as cursor:
cursor.execute(sql_query, {'serial': subSerialNum, 'lun': ldev, 'todayD': today_date})
result = cursor.fetchone()
while result:
ldev_cap = result['ldev_cap'] #here the dictionary acts as
#expected and i can assign a value
ldev_usdcap = result['ldev_usdcap']
print(result)
return ldev_cap, ldev_usdcap #here i can return
finally:
connection.close()
任何帮助或协助将不胜感激......
干杯格雷厄姆
最佳答案
首先,您应该熟悉 Python style guide用于编写Python代码。
根据您现有的代码,result1
以包含 (ldev_cap, ldef_usdcap)
值的元组形式返回(它不是目录)。您可以访问返回结果 result1[0]
,它对应于 ldev_cap
或 result1[1]
的返回值,它对应于ldev_usdcap
的返回值。
或者,由于您要返回两个数据,因此您可以使用
访问每个返回数据ldev_cap, ldev_usdcap = connector_mysql(subSerialNum, ldev, today_date)
关于Python mysql 函数输出不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46209385/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!