I'm having a hard time with the setup statement in Python's timeit.Timer(stmt, setup_stmt). I appreciate any help to get me out of this tricky problem:
So my sniplet looks like this:
def compare(string1, string2):
# compare 2 strings
if __name__ = '__main__':
str1 = "This string has \n several new lines \n in the middle"
str2 = "This string hasn't any new line, but a single quote ('), in the middle"
t = timeit.Timer('compare(p1, p2)', "from __main__ import compare; p1=%s, p2=%s" % (str1,str2))
I don't know how to escape the metacharacter in the variable str1, str2 without changing their meaning in the setup statement:
"from __main__ import compare; p1=%s, p2=%s" % (str1,str2)
I tried various combination but always have the following errors:
SyntaxError: can't assign to literal
SyntaxError: EOL while scanning single-quoted string
SyntaxError: invalid syntax