Python将字符串不一致地写入文件

时间:2019-05-11 18:21:33

标签: python python-3.x io

我正在编写一个python代码,它将为另一个程序编写输入文件。我有一个测试套件,并且我发现测试有时会失败,因为写入的字符串可能缺少字符,或者使用“ e”而不是“ E”表示浮点数。但是这些失败似乎是随机发生的。

我不知道如何解决此问题,我在Google周围搜索,似乎找不到与我的问题相符的结果。

这是两次单元测试的结果,它们之间没有代码更改:

..................................................................................
----------------------------------------------------------------------
Ran 82 tests in 0.019s

OK

然后以diff输出的形式出现故障(空格用`代替):

<  Begin feti equation solver feti
<  End feti equation solver feti
---
>   Begin feti equation_solver feti
>   End feti equation_solver feti

<   tolerance = 1E-06
---
>   tolerance = 1e-06

这是一个写这些段落的写方法:

  def write(self,f,indent):
    # if this term  is not active do not write anything
    if not self._active:
      return()
    line = "  " * indent
    for idx,item in enumerate(self._my_values):
      if item is None:
        continue
      if idx != 0:
        line+=" "
      if self._use_symbol and idx == self._symbol_location:
        line += self._symbol+" "
      line += str(item)
    line += "\n"
    f.write(line)

_my_values是字符串,整数或浮点数的列表。 _symbol是一个字符串,通常是一个“ =”。

我希望它能使测试表现一致。尽管“ e”与“ E”不是什么大问题,但下划线的变化确实是。

谢谢您的帮助。

0 个答案:

没有答案