python jupyter magic %% writefile返回SyntaxError:语法无效

时间:2018-09-10 10:15:41

标签: python jupyter-notebook jupyter writefile

# [ ] The following program asks the user for a circle radius then display the area and circumference
# Modify the program so it only displays the information when executed directly
# The program should not display anything if it is imported as a module 


%%writefile main_script.py

def main(): 
    from math import pi

    def circle_area(r):
        return pi * (r ** 2)

    def circle_circumference(r):
        return  2 * pi * r

    radius = float(input("Enter radius: "))
    print("Area =", circle_area(radius))
    print("Circumference =", circle_circumference(radius))

if __name__="__main__":
    main()


----------
  File "<ipython-input-3-70ba6a5d5e98>", line 6
    %%writefile main_script.py
    ^
SyntaxError: invalid syntax

我该如何解决?

这是一个练习,但是我不明白此系统命令的工作原理,你能解释一下吗?

忽略:对于单词要求忽略:对于单词要求

2 个答案:

答案 0 :(得分:4)

这不适用于您,因为您在笔记本单元格中代码的第一行中有注释。如果将注释移到magic命令下,它将写入文件。

%%writefile main_script.py

# Add all of your comments here after the magic command

def main(): 
    def add_my_code(here):
        return here

if __name__="__main__":
    main()

答案 1 :(得分:0)

  

%% writefile main_script.py

writefile是Jupyter笔记本的命令,它不是源代码的一部分。

因此,它将为您提供语法错误,作为Python代码的一部分。 但是,在Jupyter Notebook中执行将告诉它按照此命令将内容写入writefile之后指定的文件,即写入main_script.py

查看how-to-append-a-file-with-a-newline-using-writefile-a-command-in-jupyter以获得更多信息