首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >timeit函数中的IndentationError

timeit函数中的IndentationError
EN

Stack Overflow用户
提问于 2019-11-04 13:59:22
回答 1查看 437关注 0票数 0

我想测量部分代码的处理时间,为此我使用了timeit函数。但是,它从timeit函数内部返回IndentationError。

这是我的代码;

代码语言:javascript
复制
for stem, result in zip(stem_dirs, result_dirs):

        code_to_measure = '''
        print(stem, '\n', result)
        subprocess.call(['python', './a.py', "--dir_in", stem, "--dir_out", result])
        '''

        proccess_time = timeit.timeit(code_to_measure)
        print(proccess_time)

下面是我得到的错误;

代码语言:javascript
复制
Traceback (most recent call last):
  File "code_test.py", line 115, in <module>
    proccess_time = timeit.timeit(code_to_measure)
  File "/usr/local/lib/python3.6/timeit.py", line 233, in timeit
    return Timer(stmt, setup, timer, globals).timeit(number)
  File "/usr/local/lib/python3.6/timeit.py", line 123, in __init__
    compile(stmtprefix + stmt, dummy_src_name, "exec")
  File "<timeit-src>", line 3
    print(stem, '
    ^
IndentationError: unexpected indent

但是,下面代码中的timeit函数仍然可以正常运行;

代码语言:javascript
复制
# importing the required module 
import timeit 

# code snippet to be executed only once 
mysetup = "from math import sqrt"

# code snippet whose execution time is to be measured 
mycode = ''' 
def example(): 
    mylist = [] 
    for x in range(100): 
        mylist.append(sqrt(x)) 
'''

# timeit statement 
print(timeit.timeit(setup = mysetup, 
                    stmt = mycode, 
                    number = 10000)) 

以下是代码的输出;

代码语言:javascript
复制
0.002189640999858966

我不太确定如何解决这个问题。如果你对这个问题有任何建议或解决方案,请告诉我。

非常感谢你提前这么做。

EN

回答 1

Stack Overflow用户

发布于 2019-11-04 14:25:41

执行缩进的两种方法是使用空格(标准规范是对一级缩进使用4个空格),或者使用制表符。确保没有将它们混合在一起。坚持其中的一个。

如果您能以.py文件的形式与我分享您的代码,我也许可以通过准确地告诉您问题出在哪里,从而帮助您更多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58687952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档