Jupyter:取消%% file魔术输出

时间:2019-03-25 16:37:15

标签: jupyter-notebook ipython

使用IPython的%%file魔术方法将笔记本单元的内容写入当前工作目录中的文件时,是否有一种方法可以禁止执行单元时显示的Created file ...信息文本?

有时以这种方式创建文件非常方便(例如,在使用Matlab内核时),但这在版本控制方面是一个巨大的问题,我不希望本地文件系统的结构出现在代码中其他人也在工作。

1 个答案:

答案 0 :(得分:1)

此功能的来源

@cell_magic
def writefile(self, line, cell):
    """Write the contents of the cell to a file.

    The file will be overwritten unless the -a (--append) flag is specified.
    """
    args = magic_arguments.parse_argstring(self.writefile, line)
    if re.match(r'^(\'.*\')|(".*")$', args.filename):
        filename = os.path.expanduser(args.filename[1:-1])
    else:
        filename = os.path.expanduser(args.filename)

    if os.path.exists(filename):
        if args.append:
            print("Appending to %s" % filename)
        else:
            print("Overwriting %s" % filename)
    else:
        print("Writing %s" % filename)

    mode = 'a' if args.append else 'w'
    with io.open(filename, mode, encoding='utf-8') as f:
        f.write(cell)

File:   /usr/local/lib/python3.6/dist-packages/IPython/core/magics/osm.py