【问题标题】:How to fix "Extensions must be .ipynb and .py or vice versa" with ipynb-py-convert?如何使用 ipynb-py-convert 修复“扩展必须是 .ipynb 和 .py,反之亦然”?
【发布时间】:2021-10-13 22:45:41
【问题描述】:

我正在使用以下代码:

filename = r'C:/Users/Automated Analysis.ipynb'
dest = r'C:/Users/Automated Analysis.py'
os.system("ipynb-py-convert %s %s" % (filename, dest))

但它给了我这个错误:

    raise(Exception('Extensions must be .ipynb and .py or vice versa'))
Exception: Extensions must be .ipynb and .py or vice versa

我不确定如何使上面的代码正常工作。

【问题讨论】:

    标签: python python-3.x jupyter-notebook os.system


    【解决方案1】:

    这是因为你的文件名有空格。

    您的os.system 命令变为:

    ipynb-py-convert C:/Users/Automated Analysis.ipynb C:/Users/Automated Analysis.py
    

    ...如您所见,现在有 4 个输入。直接在命令行上运行将产生相同的异常消息。它正在尝试将C:/Users/Automated 转换为Analysis.ipynb

    只需将文件名用引号括起来:

    os.system("ipynb-py-convert '%s' '%s'" % (filename, dest))
    

    或者你可以使用subprocess.run:

    import subprocess
    
    filename = r'C:/Users/Automated Analysis.ipynb'
    dest = r'C:/Users/Automated Analysis.py'
    subprocess.run(['ipynb-py-convert', filename, dest])
    

    请参阅 Advantages of subprocess over os.systemReplacing os.system()

    【讨论】:

      猜你喜欢
      • 2016-07-24
      • 2020-04-08
      • 1970-01-01
      • 2022-09-24
      • 2022-06-26
      • 2015-09-02
      • 1970-01-01
      • 2022-06-28
      • 2023-02-05
      相关资源
      最近更新 更多