PyCharm(python3.x)在不重新运行脚本的情况下修改类

2024-06-17 11:07:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用PyCharm Pro 2018,最近刚切换到它(来自Spyder)。你知道吗

我的脚本的第一部分涉及加载大量数据,大约需要1-2分钟。脚本完成或出错时,我会得到一个python控制台,其中包含所有当前变量,我可以在其中进行研究。你知道吗

现在,如果我想更改一个方法/函数并在不完全重新启动脚本的情况下再次运行它,我该怎么做?你知道吗

下面是一些伪代码:

class FetchData():
    ...

class ParseData():
    ...
    def subroutine1(self, ...):
        ...

data = FetchData(...) # takes a long time
parser = ParseData(data,...)
parser.subroutine1(...)

在运行这段代码并在子程序1中得到一个错误之后,我得到了一个控制台,可以查看“data”和“parser”(以及任何其他变量)。是否可以修改子程序1并在控制台中手动重新运行该方法“parser.subroutine1子例程(…)“方法已更改,而“数据”仍完好无损?你知道吗

如果不是,或者一般来说,在不必不断重新加载“data=FetchData(…)”的情况下对子程序1进行编码的最佳实践是什么?你知道吗

非常感谢!你知道吗


Tags: 数据方法代码脚本parserdata情况pro
1条回答
网友
1楼 · 发布于 2024-06-17 11:07:20

我有两种方法:

1.)使用Jupyter笔记本。笔记本电脑最大的特点/优势之一正是这种能力:将代码的各个部分相互封装起来,如果在以后的单元/代码块中出现错误,就不会让你从头开始。你知道吗

2.)对数据结果进行Pickle处理,并将其引用。Python的内置pickle模块能够创建“pickle”文件,该文件可以保存在长时间运行的子例程中创建的几乎所有数据。因此,将代码拆分为两个文件,长时间运行的/创建数据的文件只会创建数据并对其进行pickle;仅当需要更新pickle文件中的数据时才运行它。要对数据运行的第二个/后续例程位于python文件中,该文件打开/读取pickle文件(这是一个非常快速的操作),然后处理其中先前存储的数据。你知道吗

相关问题 更多 >