我在Python的timeit.Timer(stmt, setup_stmt)中遇到了setup语句的问题。我很感激任何帮助让我摆脱这个棘手的问题:
我的代码片段看起来像这样:
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))
我不知道如何在变量str1、str2中转义元字符而不改变它们在设置语句中的含义:
"from __main__ import compare; p1=%s, p2=%s" % (str1,str2)
我尝试了各种组合,但总是出现以下错误: 语法错误:不能将值赋给文字 语法错误:扫描单引号字符串时遇到行末 语法错误:无效语法