I was using the jupyter notebook's magic %%writefile, where you put "%%writefile [-a] filename.py" at the top of a cell and then evaluating the cell writes the cell's contents to the file (overwriting by default, or appending if you give the -a flag).
I found that the file so written to has the correct contents except that there is no final newline character. This is particularly annoying when you try (as I did) writing the contents of several cells to the same file, using -a on all but the first, since after doing all that, you then have to edit the file to insert some newlines. Putting a blank line at the bottom of the cell makes no difference, as it is ignored. Putting a comment character # on the last line is no better since that gets prepended to the first line of the next cell whose contents is appended. This is not Sage-specific since the same happens if I run jupyter-notebook from the command line (on ubuntu linux) and create a new python3 notebook. I found this post https://stackoverflow.com/questions/36520723/how-to-append-a-file-with-a-newline-using-writefile-a-command-in-jupyter which suggests putting a blank line at the top of each appended cell, and that does work (though the resulting file still has no final newline). This seems rather counter-intuitive to me! John -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/d/optout.
