【发布时间】:2015-08-07 12:45:25
【问题描述】:
绝望。假设我们有以下内容:
def main():
ALotOFCode
list1 = []
list2 = []
while condition:
# a lot of times where raw_input is used in this loop
# e.g.
x = raw_input('lots of steps to compute x')
y = raw_input('lots of steps to compute y')
list1 = list1.append(x)
list2 = list2.append(y)
stream.write({'x':list1,'y':list2}) #send new data point to plot.ly via raspberry pi
我不知道发生了什么。但是我在 plot.ly 中的情节已经消失了。彻底删除。到目前为止,我在我的 PC 上弄乱了我在情节上的内容,然后我继续输入数据并从树莓派构建情节。我可以看到正在建造的情节没有问题。然后我回到我的电脑并点击刷新。绘图和所有数据都消失了。回到覆盆子。已经同步了。走了。
虽然我知道现在 list1 和 list2 在我写这篇文章时包含我需要重新制作我的情节的所有数据。但是有什么办法可以访问它并将其保存到文件中吗?我的 python shell 目前正在等待通过 raw_input 输入,所以我不能使用 shell。有什么办法可以让我进入当前仍在运行的程序范围内的变量?显然,一旦程序结束,局部变量就会被删除。
当然,如果为 plot.ly 上的每个情节保存历史记录,这将有所帮助,但我找不到任何恢复到先前状态的选项。
更新:所以 - 感谢上帝 - 我已将一些中间步骤的输出保存到文件中。我实际上放弃了尝试访问该变量,而是尝试通过一个新的动态脚本生成list1 和list2。早上 8 点 30 分,我拿到了我的数据,上午 10 点,我的主管高兴地看着它,一点也不聪明。尽管没有人给出明确的答案或解释如何直接访问list1 和list2,但这个问题仍然悬而未决。 (我确实浏览了 cmets 中的每个建议,但找不到任何提供答案的内容)
强制性的最后评论:我对 Plot.ly 的信心已经破灭,至少有一段时间。
【问题讨论】:
-
我严重怀疑是否有可能以任何理智或安全的方式完成您的要求。如果我的理解正确的话。
-
见attaching a process with pdb。恐怕看起来不太好。
-
也许您可以使用 tcpdump 在写入流时捕获输出(如果它是网络流)。
标签: python raspberry-pi2 plotly