首页 > 解决方案 > %timeit 单独工作,但使用 .py 文件失败

问题描述

我正在尝试将 majic (%timeit) 命令结果捕获到文本文件中,同样在 ipython 中单独执行但在 .py 文件中调用,它会引发语法错误。请帮助我在我的脚本中究竟缺少什么。

from scripts.download_sftp_extract_fun import sftp_extract
import sys
import timeit
times = %timeit -o sftp_extract.download_sftp_extract(extract_name="RE_AMS_SUBD_SLS_WKLY_")
print(times,file=open("logs/log_re_ams_subd_sls_wkly.txt",'w'))

错误信息:-

In [26]: exec(open('scripts/extract_download_re_ams_subd_sls_wkly_.py').read())
Traceback (most recent call last):

  File "/usr/local/lib/python3.8/dist-packages/IPython/core/interactiveshell.py", line 3417, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)

  File "<ipython-input-26-21b570da7ee2>", line 1, in <module>
    exec(open('scripts/extract_download_re_ams_subd_sls_wkly_.py').read())

  File "<string>", line 4
    times=%timeit -o sftp_extract.download_sftp_extract(extract_name="RE_AMS_SUBD_SLS_WKLY_")
          ^
SyntaxError: invalid syntax

标签: python-3.xipythonipython-magic

解决方案


的正确用法timeit如下:

import timeit
timeit.timeit("sftp_extract.download_sftp_extract(extract_name=\"RE_AMS_SUBD_SLS_WKLY_\")")

查看它的文档以获取更多详细信息


推荐阅读