首页  >  问答  >  正文

如何在不使用方括号、逗号或括号的情况下显示值?

我只想打印不带任何括号、逗号或圆括号的值。我正在使用 MySQL 和 python 以及 mysql.connector。

当我运行此代码时,我得到“('esrvgf',)”。但我只想得到“esrvg”。

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  password="password",
  database ="mydatabase"
)

cursor = mydb.cursor()


sql = "select nick from users where ipaddress = '192.168.1.4'"

cursor.execute(sql)

myresult = cursor.fetchall()

for x in myresult:
  print(x)

P粉726133917P粉726133917293 天前453

全部回复(2)我来回复

  • P粉156532706

    P粉1565327062024-01-01 09:22:48

    通过使用 .fetchall( ) 根据文档,即使只有一个元素,你也不会返回单个元素:

    因此,请考虑使用:

    for x in myresult:
      for y in x:
         print(x)

    或者,如果您确定它是单个元素:

    for x in myresult:
       print(x[0])

    回复
    0
  • P粉883973481

    P粉8839734812024-01-01 00:18:50

    cursor.fetchall() 返回元组列表(请参阅此问题),而不是字符串。如果你尝试打印一个元组,Python 将添加括号,如果你尝试打印一个列表,Python 将添加括号。您所需要做的就是使用 x[0] 打印第一个元素。像这样:

    for x in myresult:
      print(x[0])

    或者,您可以使用 * 运算符将元组的每个元素作为参数传递给 print()。像这样:

    for x in myresult:
      print(*x)

    回复
    0
  • 取消回复