0

我有一个 python 脚本,它根据轴承移动机器人。计算的方位角是相对于另一个机器人的。我想根据机器人移动的磁轴承+与网络中其他点的距离变化来计算校正因子。然后可以将此校正因子应用于相对于另一个机器人计算的轴承,以使轴承更接近真正的磁性轴承(我已经计算出这背后的数学,但不认为有必要在这里详细介绍) .

我的脚本运行的方式是调用其他脚本并将值传递给它们并从中读取它们。一段轻量级的伪代码如下所示:

find a bearing relative to another bot to the point to be reached
move towards it along this bearing
test accuracy of the bearing
calculate a correction factor

然后我想重复脚本并校正最初用校正因子计算的方位(简单的加或减 x 度)

如何在每次脚本重复时保留变量,以便可以从下一次添加或减去校正因子,而不必从头开始重新计算?

4

2 回答 2

2

将其存储在这样的文件中:

import json
json.dump(data, open(filename, 'wb'))

下次用

f = open(filename)
data = json.load(f)
f.close()
于 2013-05-07T00:23:44.707 回答
0

Json 是人类可读的并且很好。在 Python 中序列化数据的另一个好方法是pickle模块。优点是您可以透明地存储几乎任何 Python 值。

这是一个例子:

import pickle

def put_persistent(data):
    with open('data.pkl', 'wb') as output:
        pickle.dump(data, output)

def get_persistent(default=None):
    try:
        with open('data.pkl', 'rb') as pkl_file:
            return pickle.load(pkl_file)
    except IOError:
        return default
于 2014-03-02T14:06:47.043 回答