脱衣舞的优雅方式

2024-05-05 23:46:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须用Python剥离DB的输出,它已经可以工作了。但是有没有更优雅的方法呢?你知道吗

这是我的密码:

import MySQLdb
conn= MySQLdb.connect("localhost","root","testPW","MixOMat")
c=conn.cursor()
c.execute("SELECT Zutat1 FROM Rezepte WHERE RezeptID=1")
z1=str(c.fetchall())
z1=z1.strip("(")
z1=z1.rstrip(")")
z1=z1.rstrip(",")
z1=z1.rstrip(")")
z1=z1.rstrip(",")
z1=z1.rstrip("L")
print(z1)

Tags: 方法importlocalhost密码executedbconnectroot
3条回答

首先,.strip参数是要删除的字符,因此只需要2个调用

z1 = z1.strip('(').rstrip(')L')

第二,你做错了,获取数据的正确方法应该(我认为)是:

c.execute("SELECT Zutat1 FROM Rezepte WHERE RezeptID=1")
(z1, ) = c.fetchone()

注意,我假设您只有一行要检索

它将直接检索一个整数而不是字符串表示形式

import MySQLdb
conn= MySQLdb.connect("localhost","root","notna99","MixOMat")
c=conn.cursor()
c.execute("SELECT Zutat1 FROM Rezepte WHERE RezeptID=1")
z1=str(c.fetchall())
z1=z1.strip("(").rstrip(")").rstrip(",").rstrip(")").rstrip(",").rstrip("L")
print(z1)

这是另一种方法,也可以使用切片。你知道吗

只需使用for循环

for e in ["(",")", ","...]:
    z1=z1.strip(e)

功能分析:

from functools import reduce

z1 = reduce(lambda x: z1.strip(x), ["(",")", ","...])

甚至只是:

z1 = z1.strip("".join(["(",")", ","...]))

相关问题 更多 >