【问题标题】:How to print long string in python如何在python中打印长字符串
【发布时间】:2018-06-13 05:32:51
【问题描述】:

我正在运行 python 3.6。我正在运行一个 sql 查询来提取数据。我正在使用以下查询

sql="SELECT DISTINCT A.Employee_No "
sql=sql+"FROM Employee A "
sql=sql+"INNER JOIN Dept B1 "
sql=sql+"ON (B1.Dept_ID = A.Dept_ID"
sql=sql+"OR B1.Manager_ID = A.Manager_ID "
sql=sql+"OR B1.Joining_Date = A.Joining_Date "
sql=sql+"OR B1.Group = A.Group) "
sql=sql+"And B1.ACCT_YEAR = '"+str(acct_year)+"'"
sql=sql+" AND B1.surname in ('"+surname+"') "
sql=sql+"AND B1.address IN  ('"+address+"')"
sql=sql.replace(u'\xa0', ' ')

但是我的代码中出现了一些错误。所以我放了一条打印语句来检查我的sql。我使用了print(sql) 并得到了部分文本作为输出然后我尝试了以下代码 我的 sql 显示为一个系列,所以我使用此代码将其更改为字符串并使用 textwrap 打印 str=sql.to_string()
import textwrap print(textwrap.fill(str, 20))
但我仍然得到像这样的部分输出

SELECT DISTINCT A.Employee_No
FROM Employee...

我也尝试了 40 而不是 20,但输出仍然相同。您能建议我如何查看完整的长字符串吗? 可以吗

【问题讨论】:

  • 我无法重现您的问题。如果你只做print(sql)会发生什么?
  • 注意(与错误无关):而不是sql=sql+"... 使用sql += "...
  • 也无法复制。你能用一个花哨的IDE吗?顺便说一句,你硬编码的参数是一个 bad 的 SQL 查询。请学习参数化查询。
  • “一些错误”。不要让我们悬而未决。什么错误?
  • 那么我认为你的问题与spyder有关。我刚刚将标签添加到问题中

标签: python spyder


【解决方案1】:

我认为您是先执行 sql,然后尝试打印导致错误的 sql 字符串。但是错误已经发生,因此您看不到字符串,而是看到原始错误消息(驱动程序模块正在以缩写形式打印错误)。在执行查询之前检查您的 sql。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    • 2021-07-17
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    • 1970-01-01
    相关资源
    最近更新 更多