python etree tostring_缩进lxml.etree.tostring()不同于Mac和Linux

Python的lxml.etree.tostring()在Mac和Linux上的缩进不同——缩进似乎是Linux的两倍。它破坏了我的单元测试。在

显然lxml.etree不公开任何用于设置默认缩进值的路径。在

有人知道这里会发生什么吗?在

编辑以添加代码:

我确信代码是一样的,计算机通过github共享它。在

测试代码如下:chk = """\

7135260

lastname

Last Name

"""

res = etree.tostring((xml_obj.xpath(xp_str))[0], pretty_print=True)

self.assertMultiLineEqual(

chk,

res.rstrip()

)

这在Linux上通过,但在Mac上失败,并显示以下错误报告:

^{pr2}$

但当我隔离出有问题的代码时,两个代码的输出是相同的:data_str = """\

7135259

firstname

First Name

7135260

lastname

Last Name

success

"""

data_xml = etree.fromstring(data_str)

res = etree.tostring(

(data_xml.xpath('//*[name="lastname"]/name/..'))[0],

pretty_print=True)

print res

这两种平台上的压痕相同。在

所以不管有什么奇怪之处,它都是由unittest2引起的。在这一点上,这可能不是一个很好的问题。在

进一步编辑:

当我在repr()中包装比较项时,我得到:- '\n 7135260\n lastname\n Last Name\n \n '

+ '\n 7135260\n lastname\n Last Name\n \n \n \n'

? ++++++ ++++++ ++++++ ++++++ ++++ ++++++++++++

这个输出实际上是单行的。我先插入了换行符+符号和?性格。在

我在测试输出中搜索了制表符('\t')。我确定我没有插入制表符,我使用的是vi w/“set expandtab”。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值