如何使用 ipynb-py-convert 修复 "Extensions must be .ipynb and .py or vice versa"?

How to fix "Extensions must be .ipynb and .py or vice versa" with ipynb-py-convert?

我正在使用以下代码:

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

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

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

您的 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])

and Replacing os.system()