Python:格式化错误

时间:2014-05-12 20:33:49

标签: python

我重构了add(),这样我就可以通过编写正则表达式模式来轻松输出错误,以便在换行符中查找包含负数或结尾的任何内容。但是,我进入控制台以确保正确打印错误并意识到它不会打印出换行符。有没有办法实际打印出换行符而不是控制台打印出额外的空格?

我想看到的内容: ValueError: -1, -2, \n

我目前得到的内容: ValueError: -1, -2

生产:

def add(expr):
    """Returns an evaluated sum or raises an error."""
    errors = re.findall(r"(-\d+|\n$)", expr)
    if any(errors):
        raise ValueError("Errors: {}".format(", ".join(errors)))                                                                                                         
    return __result(expr)


def __result(expr):
"""Returns the evaluated sum of the expression."""
delim = __delimiter(expr)
return sum([int(i) for i in expr.replace("\n", delim).split(delim) if
            i.strip().isdigit()])

测试

class TestStringCalculator(unittest.TestCase):
    def test_add_invalid_string(self):                                              
        """Should raise error if invalid string."""                                 
        with self.assertRaises(ValueError):                                         
            add("1,\n")

    def test_add_negative_digits(self):
        """Should raise error if negatives found."""                                
        with self.assertRaises(ValueError):
            add("-1,2")

0 个答案:

没有答案