小编Isa*_*Liu的帖子

在 VSCode 中将 .ipynb 转换为 .py 的最佳方法

我正在寻找一种在 VSCode 中将 .ipynb 转换为 .py 文件的好方法。到目前为止我已经尝试过:

  • vscode 内置的“导出为”选项。并不理想,因为它在脚本开头生成以下内容,以及“运行单元格”、“运行下面”等按钮/链接:

“要添加新单元格,请输入 '# %%' 要添加新的 Markdown 单元格,请输入 '# %% [markdown]' %% from IPython import get_ipython”

  • nbconvert。我通常将其作为命令插入到脚本本身中(/sf/answers/1384545851/),以便在运行后自动转换并保存。但这也留下了“Run Cell”等,以及执行标记(例如:“In [1]”)

  • jupytext。我通常也将其作为命令插入。在 .py 的开头,它会生成:

- - 编码:utf-8 - - --- jupyter: jupytext: text_representation:

有没有一个很好的、简约的解决方案,不会在我的笔记本的 .py 版本中插入一堆垃圾(需要手动编辑掉),并且可以从笔记本本身轻松/自动执行?这也可能是我目前不知道的设置调整,可以使我提到的其中一项工作更好。

提前致谢。

python jupyter visual-studio-code jupyter-notebook

15
推荐指数
3
解决办法
4万
查看次数

附加到python对象列表时出错

我定义了一系列 python 对象,class dofiles其中有一个名称和一些空列表。

class dofile:
    name = ""
    lines = []
    inputs = []
    outputs = []
    intermediates = []
Run Code Online (Sandbox Code Playgroud)

我正在使用以下代码来循环dofile调用这些对象的列表dofiles(在我运行填充我知道可以正常工作的每个对象的行列表的代码之后)。有问题的代码检测到短语 using 及其后面的单词,然后应该将该单词附加到每个对象的输入列表中。

for dofile in dofiles:
    for line in dofile.lines:
        # using
        using_tups = re.findall(r'(using)\s([^\s,]+)', line)
        for tuple in using_tups:
            dofile.inputs.append(tuple[1])
Run Code Online (Sandbox Code Playgroud)

但是,我最终将单词附加到 dofiles 中所有 dofile 对象的输入列表。(例如:print(dofiles[0].inputs)print(dofiles[1].inputs)虽然扫描不同的文件,但返回相同的内容)。

我是否遗漏了 Python 中对象、列表或循环的工作原理?

我试过了,(dofile.inputs).append(tuple[1])但似乎没什么区别。

谢谢。

python oop

2
推荐指数
1
解决办法
64
查看次数