【问题标题】:Python error: EOL while scanning string literalPython 错误:扫描字符串文字时 EOL
【发布时间】:2015-04-30 18:16:40
【问题描述】:

一些背景资料

我正在使用 SQLite 访问数据库并检索所需的信息。我在 Python 2.6 版中使用 ElementTree 来创建包含该信息的 XML 文件。

代码

这是我用来从数据库模式创建 XML 文件的代码。我已经用评论指出了错误发生的位置。

 import sqlite3
 import xml.etree.ElementTree as ET

 db = sqlite3.connect("dataload.db")
 root = ET.Element("databaseConfiguration")


 software_attributes =  ["id", "functionalDesignationHardware", "hwfin", "identname", "partnumber",
                         "repfin", "targetHardwareID"]

 software = db.cursor().execute("SELECT %s from SOFTWARE_" % ", ".join([i + "_" for i in software_attributes]))
 software_Data = software.fetchall()
 for sw in software_Data:
     sw_node = ET.SubElement(root, "Software")
     for i in range(1, len(software_attributes)):
         sw_node.set(software_attributes[i], str(sw[i]))


 target_attributes = ["id", "functionalDesignationSoftware", "installscriptpathname", "ata", "status",
                      "swfin", "targetOSFC", "timestamp"]


 tree = ET.ElementTree(root)

 from xml.dom import minidom
 print minidom.parseString(ET.tostring(root)).toprettyxml(indent = "   ")

 ## The error pops up at this line (when trying to generate the XML) ##
 tree.write("New_Database.xml)

问题

如何解决此错误?我还看到了其他一些必须添加或编辑引号的问题 - 我是否需要做类似的事情,以及如何做?

【问题讨论】:

  • 乍一看,除了文件名上缺少右引号外,它看起来还不错。错误信息是什么意思?

标签: xml sqlite python-2.6 elementtree eol


【解决方案1】:

我之前没有注意到您在标题中放置了错误消息(扫描字符串文字时 EOL)。所以,我认为你帖子中的错字确实是错误。将右引号添加到您的字符串中。

【讨论】:

  • 天哪,可能就是这样。不幸的是,我实际上无法检查是否是这种情况,因为一切都在我的工作计算机上。我希望这是错误,因为它非常简单,而不仅仅是复制/粘贴错误。我会在星期一之前知道...希望我不会收到任何新错误。谢谢!
  • 绝对是错误。我是笨蛋。感谢您取消我的代码
  • 发生在我们所有人身上。很高兴我能帮上忙。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多