0

我在 Python 中使用 minidom 为已完成的任务创建 XML 格式的日志文件。该过程的一部分是将文件的最后修改时间与该文件数据记录到日志中的时间进行比较。我计划通过以下方式做到这一点:

if modTime < recTime:
  do_something()

例如,foo.pdf在上午 10 点 40 分进行了修改,然后在上午 10 点 46 分日志记录了 foo.pdf 的修改时间。所以日志的一部分应该是这样的:

<Printed Orders>
  <foo.pdf>
    <Date Recorded>
      1352486780
    </Date Recorded>
  </foo.pdf>

但是,当我尝试将整数格式的时间写入 XML 文件时,出现错误:

TypeError: node contents must be a string

所以,我的问题是:
有没有办法将整数写入 XML 文件?(最好使用 minidom 以免我的脚本因更多的导入而混乱)

如果没有,有没有更好的方法来比较我从文件本身提取的修改时间和我从 XML 文件中提取的记录时间,而不是转换记录的时间到一个字符串,写入 XML 文件,稍后从 XML 文件中提取记录时间,然后将该字符串转换回整数?

foo.pdf此外,如果您想知道,计划是根据自己的 mod/rec 时间的比较,每天清除一次目录、删除和其他文件。如果foo.pdf自录入日志后未修改,则将其删除。

谢谢!

4

1 回答 1

0

只需查看您期望的输出即可。XML 如何知道它是整数还是字符串。一般来说,对于 XML,您必须使用标签来说明一切。因此,所有内容都被视为字符串。

您不需要将字符串转换为 int,除非另一个时间是 int,因为时间字符串在很长一段时间内(超过 3,000 年)不会变得比现在长。但是,我不确定您为什么如此不喜欢进行这种转换。如果真的很重要,请使用 JSON。

于 2012-11-09T19:25:54.513 回答